From f094961bb41775f7fab8dc3c2a060431eb576870 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 3 Nov 2024 22:31:11 +0100 Subject: [PATCH 01/17] adding routes to modify users and the beginnings of routes for kebabs --- .gitignore | 2 + Backend/Images/images.png | Bin 0 -> 8856 bytes .../app/Http/Controllers/KebabController.php | 28 + .../app/Http/Controllers/UserController.php | 153 +++++- Backend/app/Http/Kernel.php | 2 + Backend/app/Http/Middleware/CheckAdmin.php | 26 + .../app/Http/Requests/ChangeEmailRequest.php | 30 ++ .../app/Http/Requests/ChangeNameRequest.php | 29 ++ .../Http/Requests/ChangePasswordRequest.php | 30 ++ .../Http/Requests/FavoriteKebabRequest.php | 31 ++ Backend/app/Models/Kebab.php | 53 ++ Backend/composer.json | 3 +- Backend/composer.lock | 491 +++++++++++++++--- Backend/routes/api.php | 10 +- 14 files changed, 813 insertions(+), 75 deletions(-) create mode 100644 .gitignore create mode 100644 Backend/Images/images.png create mode 100644 Backend/app/Http/Controllers/KebabController.php create mode 100644 Backend/app/Http/Middleware/CheckAdmin.php create mode 100644 Backend/app/Http/Requests/ChangeEmailRequest.php create mode 100644 Backend/app/Http/Requests/ChangeNameRequest.php create mode 100644 Backend/app/Http/Requests/ChangePasswordRequest.php create mode 100644 Backend/app/Http/Requests/FavoriteKebabRequest.php create mode 100644 Backend/app/Models/Kebab.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e359684 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +Backend/.php-cs-fixer.cache diff --git a/Backend/Images/images.png b/Backend/Images/images.png new file mode 100644 index 0000000000000000000000000000000000000000..59947a1a1dbc874522bbb0dd9efdb0ac1299ad65 GIT binary patch literal 8856 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 zP*nLc-Cmap(function ($kebab) { + $kebab->logo = $kebab->logo ? "data:image/jpeg;base64," . base64_encode($kebab->logo) : null; + + return $kebab; + }); + + return response()->json($data, 200); + } catch (\Exception $e) { + return response()->json([ + "error" => "Something went wrong.", + "message" => $e->getMessage(), + ], 500); + } + } +} diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index bf7b45a..a1d1472 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -4,6 +4,11 @@ namespace App\Http\Controllers; +use App\Http\Requests\FavoriteKebabRequest; +use App\Http\Requests\ChangeEmailRequest; +use App\Http\Requests\ChangeNameRequest; +use App\Http\Requests\ChangePasswordRequest; +use App\Models\User; use Illuminate\Support\Facades\Auth; class UserController extends Controller @@ -16,6 +21,152 @@ public function getCurrentUser() return response()->json(["user" => $user], 200); } - return response()->json(["message" => "Użytkownik niezalogowany"], 401); + return response()->json(["message" => "User not Auth"], 401); + } + + public function getAllUsers() + { + $users = User::all(); + + return response()->json($users); + } + + public function addNewUser(UserRequest $request) + { + $user = User::create([ + "name" => $request->name, + "email" => $request->email, + "password" => Hash::make($request->password), + "role" => $request->role, + ]); + + return response()->json($user, 201); + } + + public function deleteUser($id) + { + $user = User::find($id); + + if (!$user) { + return response()->json(["message" => "User not found"], 404); + } + + $user->delete(); + + return response()->json(["message" => "User deleted"]); + } + + public function changeName(ChangeNameRequest $request, $id) + { + $user = User::find($id); + + if ($user->name !== $request->oldName) { + return response()->json(["message" => "Old name not match."], 400); + } + + $user->update([ + "name" => $request->newName, + ]); + + return response()->json($user); + } + + public function changePassword(ChangePasswordRequest $request, $id) + { + $user = User::find($id); + + if (!Hash::check($request->oldPassword, $user->password)) { + return response()->json(["message" => "Old password not match."], 400); + } + + if ($request->newPassword === $request->confirmPassword) { + $user->update([ + "password" => Hash::make($request->newPassword), + ]); + } else { + return response()->json(["message" => "Incorrect password confirmation."], 400); + } + + return response()->json($user); + } + + public function changeEmail(ChangeEmailRequest $request, $id) + { + $user = User::find($id); + + if ($user->email !== $request->oldEmail) { + return response()->json(["message" => "Old email not match."], 400); + } + + if ($request->newEmail === $request->confirmEmail) { + $user->update([ + "email" => $request->newEmail, + ]); + } else { + return response()->json(["message" => "Invalid email confirmation."], 400); + } + + return response()->json($user); + } + + public function getUserFavorites($id) + { + $user = User::find($id); + + if ($user) { + $favorites = $user->favorites ? json_decode($user->favorites, true) : []; + + return response()->json(["favorites" => $favorites]); + } + + return response()->json(["error" => "User not found"], 404); + } + + public function addToFavorites(FavoriteKebabRequest $request) + { + $userId = $request->input("user_id"); + $kebabId = $request->input("kebab_id"); + + $user = User::find($userId); + + if ($user) { + $favorites = $user->favorites ? json_decode($user->favorites, true) : []; + + if (!in_array($kebabId, $favorites, true)) { + $favorites[] = $kebabId; + $user->favorites = json_encode($favorites); + $user->save(); + + return response()->json(["message" => "Kebab added to favorites"]); + } + + return response()->json(["message" => "Kebab is already in favorites"]); + } + + return response()->json(["error" => "User not found"], 404); + } + + public function removeFromFavorites(FavoriteKebabRequest $request) + { + $userId = $request->input("user_id"); + $kebabId = $request->input("kebab_id"); + + $user = User::find($userId); + + if ($user) { + $favorites = $user->favorites ? json_decode($user->favorites, true) : []; + + if (($key = array_search($kebabId, $favorites, true)) !== false) { + unset($favorites[$key]); + $user->favorites = json_encode(array_values($favorites)); + $user->save(); + + return response()->json(["message" => "Kebab removed from favorites"]); + } + + return response()->json(["message" => "Kebab not found in favorites"]); + } + + return response()->json(["error" => "User not found"], 404); } } diff --git a/Backend/app/Http/Kernel.php b/Backend/app/Http/Kernel.php index 9958719..bf92d27 100644 --- a/Backend/app/Http/Kernel.php +++ b/Backend/app/Http/Kernel.php @@ -14,6 +14,7 @@ use App\Http\Middleware\VerifyCsrfToken; use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth; use Illuminate\Auth\Middleware\Authorize; +use Illuminate\Auth\Middleware\CheckAdmin; use Illuminate\Auth\Middleware\EnsureEmailIsVerified; use Illuminate\Auth\Middleware\RequirePassword; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; @@ -79,6 +80,7 @@ class Kernel extends HttpKernel */ protected $middlewareAliases = [ "auth" => Authenticate::class, + "admin" => CheckAdmin::class, "auth.basic" => AuthenticateWithBasicAuth::class, "auth.session" => AuthenticateSession::class, "cache.headers" => SetCacheHeaders::class, diff --git a/Backend/app/Http/Middleware/CheckAdmin.php b/Backend/app/Http/Middleware/CheckAdmin.php new file mode 100644 index 0000000..0710038 --- /dev/null +++ b/Backend/app/Http/Middleware/CheckAdmin.php @@ -0,0 +1,26 @@ +is_admin) { + return $next($request); + } + + return response()->json(["error" => "NO"], 403); + } +} diff --git a/Backend/app/Http/Requests/ChangeEmailRequest.php b/Backend/app/Http/Requests/ChangeEmailRequest.php new file mode 100644 index 0000000..94e4e56 --- /dev/null +++ b/Backend/app/Http/Requests/ChangeEmailRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + 'oldEmail' => 'required|email', + 'newEmail' => 'required|email|unique:users,email', + 'confirmEmail' => 'required|email', + ]; + } +} diff --git a/Backend/app/Http/Requests/ChangeNameRequest.php b/Backend/app/Http/Requests/ChangeNameRequest.php new file mode 100644 index 0000000..385cdcd --- /dev/null +++ b/Backend/app/Http/Requests/ChangeNameRequest.php @@ -0,0 +1,29 @@ +|string> + */ + public function rules(): array + { + return [ + 'oldName' => 'required', + 'newName' => 'required', + ]; + } +} diff --git a/Backend/app/Http/Requests/ChangePasswordRequest.php b/Backend/app/Http/Requests/ChangePasswordRequest.php new file mode 100644 index 0000000..b9b3b5e --- /dev/null +++ b/Backend/app/Http/Requests/ChangePasswordRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + 'oldPassword' => 'required', + 'newPassword' => 'required', + 'confirmPassword' => 'required', + ]; + } +} diff --git a/Backend/app/Http/Requests/FavoriteKebabRequest.php b/Backend/app/Http/Requests/FavoriteKebabRequest.php new file mode 100644 index 0000000..1399e01 --- /dev/null +++ b/Backend/app/Http/Requests/FavoriteKebabRequest.php @@ -0,0 +1,31 @@ +|string> + */ + public function rules() + { + return [ + "user_id" => "required", + "kebab_id" => "required", + ]; + } +} diff --git a/Backend/app/Models/Kebab.php b/Backend/app/Models/Kebab.php new file mode 100644 index 0000000..7954bae --- /dev/null +++ b/Backend/app/Models/Kebab.php @@ -0,0 +1,53 @@ + + */ + protected $fillable = [ + "logo", + "name", + "address", + "coordinates", + "sauces", + "meats", + "status", + "opening_hours", + "opening_year", + "closing_year", + "is_crafted", + "is_premises", + "is_chainstore", + "ordering_options", + "comments", + "google_reviews", + "pysznepl_reviews", + ]; + + protected $casts = [ + "coordinates" => "array", + "sauces" => "array", + "meats" => "array", + "opening_hours" => "array", + "ordering_options" => "array", + "comments" => "array", + ]; +} diff --git a/Backend/composer.json b/Backend/composer.json index 80c0926..36552ab 100644 --- a/Backend/composer.json +++ b/Backend/composer.json @@ -9,6 +9,7 @@ "license": "MIT", "require": { "php": "^8.1", + "darkaonline/l5-swagger": "*", "guzzlehttp/guzzle": "^7.2", "laravel/framework": "^10.10", "laravel/sanctum": "^3.3", @@ -70,4 +71,4 @@ }, "minimum-stability": "stable", "prefer-stable": true -} \ No newline at end of file +} diff --git a/Backend/composer.lock b/Backend/composer.lock index 0efb8f0..f15c5a1 100644 --- a/Backend/composer.lock +++ b/Backend/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3f4d1f1e81335e57c61cd1ac364b7e4b", + "content-hash": "8217d6c027e02458c509649659c76418", "packages": [ { "name": "brick/math", @@ -135,6 +135,86 @@ ], "time": "2023-12-11T17:09:12+00:00" }, + { + "name": "darkaonline/l5-swagger", + "version": "8.6.3", + "source": { + "type": "git", + "url": "https://github.com/DarkaOnLine/L5-Swagger.git", + "reference": "b37695804b786c04ab4077ceb6c0f2907ccd0153" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/b37695804b786c04ab4077ceb6c0f2907ccd0153", + "reference": "b37695804b786c04ab4077ceb6c0f2907ccd0153", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0 || ^2.0", + "ext-json": "*", + "laravel/framework": "^11.0 || ^10.0 || ^9.0 || >=8.40.0 || ^7.0", + "php": "^7.2 || ^8.0", + "swagger-api/swagger-ui": "^3.0 || >=4.1.3", + "symfony/yaml": "^5.0 || ^6.0 || ^7.0", + "zircote/swagger-php": "^3.2.0 || ^4.0.0" + }, + "require-dev": { + "mockery/mockery": "1.*", + "orchestra/testbench": "^9.0 || ^8.0 || 7.* || ^6.15 || 5.*", + "php-coveralls/php-coveralls": "^2.0", + "phpunit/phpunit": "^11.0 || ^10.0 || ^9.5" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "L5Swagger\\L5SwaggerServiceProvider" + ], + "aliases": { + "L5Swagger": "L5Swagger\\L5SwaggerFacade" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "L5Swagger\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Darius Matulionis", + "email": "darius@matulionis.lt" + } + ], + "description": "OpenApi or Swagger integration to Laravel", + "keywords": [ + "api", + "documentation", + "laravel", + "openapi", + "specification", + "swagger", + "ui" + ], + "support": { + "issues": "https://github.com/DarkaOnLine/L5-Swagger/issues", + "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/8.6.3" + }, + "funding": [ + { + "url": "https://github.com/DarkaOnLine", + "type": "github" + } + ], + "time": "2024-10-28T06:29:43+00:00" + }, { "name": "dflydev/dot-access-data", "version": "v3.0.3", @@ -210,6 +290,82 @@ }, "time": "2024-07-08T12:26:09+00:00" }, + { + "name": "doctrine/annotations", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.10.28", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6.4 || ^7", + "vimeo/psalm": "^4.30 || ^5.14" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.2" + }, + "time": "2024-09-05T10:17:24+00:00" + }, { "name": "doctrine/inflector", "version": "2.0.10", @@ -2900,6 +3056,55 @@ ], "time": "2024-09-16T03:06:04+00:00" }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, { "name": "psr/clock", "version": "1.0.0", @@ -3616,6 +3821,67 @@ ], "time": "2024-04-27T21:32:50+00:00" }, + { + "name": "swagger-api/swagger-ui", + "version": "v5.17.14", + "source": { + "type": "git", + "url": "https://github.com/swagger-api/swagger-ui.git", + "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/74ed0adebfc9c8dd0de2bf8e81495b022a66c083", + "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083", + "shasum": "" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Anna Bodnia", + "email": "anna.bodnia@gmail.com" + }, + { + "name": "Buu Nguyen", + "email": "buunguyen@gmail.com" + }, + { + "name": "Josh Ponelat", + "email": "jponelat@gmail.com" + }, + { + "name": "Kyle Shockey", + "email": "kyleshockey1@gmail.com" + }, + { + "name": "Robert Barnwell", + "email": "robert@robertismy.name" + }, + { + "name": "Sahar Jafari", + "email": "shr.jafari@gmail.com" + } + ], + "description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.", + "homepage": "http://swagger.io", + "keywords": [ + "api", + "documentation", + "openapi", + "specification", + "swagger", + "ui" + ], + "support": { + "issues": "https://github.com/swagger-api/swagger-ui/issues", + "source": "https://github.com/swagger-api/swagger-ui/tree/v5.17.14" + }, + "time": "2024-05-28T05:24:40+00:00" + }, { "name": "symfony/console", "version": "v6.4.13", @@ -5775,6 +6041,77 @@ ], "time": "2024-09-25T14:18:03+00:00" }, + { + "name": "symfony/yaml", + "version": "v7.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.1.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:20:29+00:00" + }, { "name": "tijsverkoyen/css-to-inline-styles", "version": "v2.2.7", @@ -6043,6 +6380,87 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "zircote/swagger-php", + "version": "4.11.1", + "source": { + "type": "git", + "url": "https://github.com/zircote/swagger-php.git", + "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7df10e8ec47db07c031db317a25bef962b4e5de1", + "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.2", + "psr/log": "^1.1 || ^2.0 || ^3.0", + "symfony/deprecation-contracts": "^2 || ^3", + "symfony/finder": ">=2.2", + "symfony/yaml": ">=3.3" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.11", + "doctrine/annotations": "^1.7 || ^2.0", + "friendsofphp/php-cs-fixer": "^2.17 || 3.62.0", + "phpstan/phpstan": "^1.6", + "phpunit/phpunit": ">=8", + "vimeo/psalm": "^4.23" + }, + "suggest": { + "doctrine/annotations": "^1.7 || ^2.0" + }, + "bin": [ + "bin/openapi" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "OpenApi\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Robert Allen", + "email": "zircote@gmail.com" + }, + { + "name": "Bob Fanger", + "email": "bfanger@gmail.com", + "homepage": "https://bfanger.nl" + }, + { + "name": "Martin Rademacher", + "email": "mano@radebatz.net", + "homepage": "https://radebatz.net" + } + ], + "description": "swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations", + "homepage": "https://github.com/zircote/swagger-php/", + "keywords": [ + "api", + "json", + "rest", + "service discovery" + ], + "support": { + "issues": "https://github.com/zircote/swagger-php/issues", + "source": "https://github.com/zircote/swagger-php/tree/4.11.1" + }, + "time": "2024-10-15T19:20:02+00:00" } ], "packages-dev": [ @@ -9833,77 +10251,6 @@ ], "time": "2024-09-25T14:20:29+00:00" }, - { - "name": "symfony/yaml", - "version": "v7.1.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-25T14:20:29+00:00" - }, { "name": "theseer/tokenizer", "version": "1.2.3", diff --git a/Backend/routes/api.php b/Backend/routes/api.php index 7931032..d5a42c7 100644 --- a/Backend/routes/api.php +++ b/Backend/routes/api.php @@ -3,6 +3,7 @@ declare(strict_types=1); use App\Http\Controllers\AuthController; +use App\Http\Controllers\KebabController; use App\Http\Controllers\UserController; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; @@ -22,8 +23,15 @@ Route::post("/register", [AuthController::class, "register"]); Route::post("/login", [AuthController::class, "login"]); - +Route::post("/kebabs", [KebabController::class, "getAllKebabs"]); +Route::get("/fav/{id}", [UserController::class, "getUserFavorites"]); +Route::get("/addfav", [UserController::class, "addToFavorites"]); +Route::get("/remfav", [UserController::class, "removeFromFavorites"]); Route::middleware("auth:sanctum")->group(function (): void { Route::post("/logout", [AuthController::class, "logout"]); Route::get("/getCurrentUser", [UserController::class, "getCurrentUser"]); }); + +Route::group(["middleware" => ["admin"]], function (): void { + Route::get("/admin"); +}); From 2e0bc4222bc68fd267c15020266e26508fcc9217 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 10 Nov 2024 00:18:08 +0100 Subject: [PATCH 02/17] Added routes in the API and the rest of the controllers. --- Backend/.php-cs-fixer.cache | 2 +- .../app/Http/Controllers/AuthController.php | 6 +- .../app/Http/Controllers/KebabController.php | 664 +++++++++++++++++- .../Controllers/SuggestionsController.php | 46 ++ .../app/Http/Controllers/UserController.php | 6 +- .../app/Http/Requests/ChangeEmailRequest.php | 8 +- .../app/Http/Requests/ChangeNameRequest.php | 6 +- .../Http/Requests/ChangePasswordRequest.php | 8 +- .../Requests/KebabRequests/KebabRequest.php | 43 ++ Backend/app/Models/Suggestions.php | 27 + Backend/routes/api.php | 44 +- 11 files changed, 839 insertions(+), 21 deletions(-) create mode 100644 Backend/app/Http/Controllers/SuggestionsController.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabRequest.php create mode 100644 Backend/app/Models/Suggestions.php diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index 48750f7..115f1c8 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"52ec85f0a6cd9a3499e5d17728d7c104","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"8f1505c581c3fae595a22b8e5b1ef02d","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"1dd5a69833e88e3fec2c8d28564ed71d","app\\Http\\Kernel.php":"ac608ba6bc4e68cf52ad6f26c1c002bd","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"59e8b95ff50e3af1234201287e03f44f","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"b0ef7edffbf9849c0e1cccf6e6feefa7","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"e1262b39937ff145d7eab3f20a15c3ba","app\\Http\\Kernel.php":"e4164fc00f7f146a483e7a5f588834dc","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"59e8b95ff50e3af1234201287e03f44f","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"21ddebbde93424605b86e78aedf883f0","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"9ad235e6c9b018e120e63227802793d9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c"}} \ No newline at end of file diff --git a/Backend/app/Http/Controllers/AuthController.php b/Backend/app/Http/Controllers/AuthController.php index f3d8e89..86db786 100644 --- a/Backend/app/Http/Controllers/AuthController.php +++ b/Backend/app/Http/Controllers/AuthController.php @@ -22,7 +22,7 @@ public function register(SignupRequest $request) "password" => bcrypt($data["password"]), "isAdmin" => false, ]); - $token = $user->createToken((int)["id" => (string)$user->id])->plainTextToken; + $token = $user->createToken("auth_token")->plainTextToken; $res = [ "user" => $user, @@ -39,11 +39,11 @@ public function login(LoginRequest $request) if (!Auth::attempt($credentials)) { return response([ "message" => "Something wrong", - ]); + ], 400); } /** @var User $user */ $user = Auth::user(); - $token = $user->createToken((int)["id" => (string)$user->id])->plainTextToken; + $token = $user->createToken("auth_token")->plainTextToken; $res = [ "user" => $user, "token" => $token, diff --git a/Backend/app/Http/Controllers/KebabController.php b/Backend/app/Http/Controllers/KebabController.php index d928b6a..7c3b10d 100644 --- a/Backend/app/Http/Controllers/KebabController.php +++ b/Backend/app/Http/Controllers/KebabController.php @@ -4,7 +4,9 @@ namespace App\Http\Controllers; +use App\Http\Requests\KebabRequests\KebabRequest; use App\Models\Kebab; +use Exception; class KebabController extends Controller { @@ -18,11 +20,671 @@ public function getAllKebabs() }); return response()->json($data, 200); - } catch (\Exception $e) { + } catch (Exception $e) { return response()->json([ "error" => "Something went wrong.", "message" => $e->getMessage(), ], 500); } } + + public function addKebab(KebabRequest $request) + { + $data = $request->validated(); + + try { + $kebab = new Kebab($request->all()); + + if ($request->hasFile("logo")) { + $kebab->logo = file_get_contents($request->file("logo")->path()); + } + $kebab->save(); + + return response()->json($kebab, 201); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not add kebab.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function deleteKebab($id) + { + $kebab = Kebab::find($id); + + if (!$kebab) { + return response()->json(["message" => "Kebab not found"], 404); + } + + $kebab->delete(); + + return response()->json(["message" => "Kebab deleted"]); + } + + public function changeKebabLogo(Request $request, $kebabId) + { + try { + $kebab = Kebab::findOrFail($kebabId); + + if ($request->hasFile("logo")) { + $kebab->logo = file_get_contents($request->file("logo")->path()); + + $kebab->save(); + + return response()->json([ + "message" => "Logo updated successfully.", + "kebab" => $kebab, + ], 200); + } + + return response()->json([ + "error" => "No logo file provided.", + ], 400); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update logo.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function changeKebabName(Request $request, $kebabId) + { + $request->validate([ + "name" => "required", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->name = $request->input("name"); + + $kebab->save(); + + return response()->json([ + "message" => "Name updated successfully.", + "kebab" => $kebab, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update name.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function changeKebabAddress(Request $request, $kebabId) + { + $request->validate([ + "address" => "required|string|max:255", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->address = $request->input("address"); + + $kebab->save(); + + return response()->json([ + "message" => "Address updated successfully.", + "kebab" => $kebab, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update address.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function changeKebabCoordinates(Request $request, $kebabId) + { + $request->validate([ + "coordinates" => "required|array", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->coordinates = json_encode($request->input("coordinates")); + + $kebab->save(); + + return response()->json([ + "message" => "Coordinates updated successfully.", + "kebab" => $kebab, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update coordinates.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function addSauceToKebab(Request $request, $kebabId) + { + $request->validate([ + "sauce" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $sauces = json_decode($kebab->sauces, true) ?? []; + + if (!in_array($request->input("sauce"), $sauces, true)) { + $sauces[] = $request->input("sauce"); + } + + $kebab->sauces = json_encode($sauces); + $kebab->save(); + + return response()->json([ + "message" => "Sauce added successfully.", + "sauces" => $sauces, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not add sauce.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function removeSauceFromKebab(Request $request, $kebabId) + { + $request->validate([ + "sauce" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $sauces = json_decode($kebab->sauces, true) ?? []; + + if (($key = array_search($request->input("sauce"), $sauces, true)) !== false) { + unset($sauces[$key]); + } + + $kebab->sauces = json_encode(array_values($sauces)); + $kebab->save(); + + return response()->json([ + "message" => "Sauce removed successfully.", + "sauces" => $sauces, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not remove sauce.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function addMeatToKebab(Request $request, $kebabId) + { + $request->validate([ + "meat" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $meats = json_decode($kebab->meats, true) ?? []; + + if (!in_array($request->input("meat"), $meats, true)) { + $meats[] = $request->input("meat"); + } + + $kebab->meats = json_encode($meats); + $kebab->save(); + + return response()->json([ + "message" => "Meat added successfully.", + "meats" => $meats, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not add meat.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function removeMeatFromKebab(Request $request, $kebabId) + { + $request->validate([ + "meat" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $meats = json_decode($kebab->meats, true) ?? []; + + if (($key = array_search($request->input("meat"), $meats, true)) !== false) { + unset($meats[$key]); + } + + $kebab->meats = json_encode(array_values($meats)); + $kebab->save(); + + return response()->json([ + "message" => "Meat removed successfully.", + "meats" => $meats, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not remove meat.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function changeKebabStatus(Request $request, $kebabId) + { + $request->validate([ + "status" => "required|in:exists,closed,planned", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->status = $request->input("status"); + + $kebab->save(); + + return response()->json([ + "message" => "Status updated successfully.", + "kebab" => $kebab, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update status.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function addOpeningHour(Request $request, $kebabId) + { + $request->validate([ + "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", + "hours" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $openingHours = json_decode($kebab->opening_hours, true) ?? []; + + $openingHours[$request->input("day")] = $request->input("hours"); + + $kebab->opening_hours = json_encode($openingHours); + $kebab->save(); + + return response()->json([ + "message" => "Opening hours updated successfully.", + "opening_hours" => $openingHours, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update opening hours.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function removeOpeningHour(Request $request, $kebabId) + { + $request->validate([ + "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $openingHours = json_decode($kebab->opening_hours, true) ?? []; + + if (isset($openingHours[$request->input("day")])) { + unset($openingHours[$request->input("day")]); + } + + $kebab->opening_hours = json_encode($openingHours); + $kebab->save(); + + return response()->json([ + "message" => "Opening hour removed successfully.", + "opening_hours" => $openingHours, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not remove opening hour.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function changeOpeningHour(Request $request, $kebabId) + { + $request->validate([ + "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", + "hours" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $openingHours = json_decode($kebab->opening_hours, true) ?? []; + + $openingHours[$request->input("day")] = $request->input("hours"); + + $kebab->opening_hours = json_encode($openingHours); + $kebab->save(); + + return response()->json([ + "message" => "Opening hour changed successfully.", + "opening_hours" => $openingHours, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not change opening hour.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updateOpeningYear(Request $request, $kebabId) + { + $request->validate([ + "opening_year" => "nullable|integer|digits:4", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->opening_year = $request->input("opening_year") ?? null; + + $kebab->save(); + + return response()->json([ + "message" => "Opening year updated successfully.", + "opening_year" => $kebab->opening_year, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update opening year.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updateClosingYear(Request $request, $kebabId) + { + $request->validate([ + "closing_year" => "nullable|integer|digits:4", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->closing_year = $request->input("closing_year") ?? null; + + $kebab->save(); + + return response()->json([ + "message" => "Closing year updated successfully.", + "closing_year" => $kebab->closing_year, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update closing year.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updateIsCrafted(Request $request, $kebabId) + { + $request->validate([ + "is_crafted" => "nullable|boolean", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->is_crafted = $request->input("is_crafted") ?? null; + + $kebab->save(); + + return response()->json([ + "message" => "Crafted status updated successfully.", + "is_crafted" => $kebab->is_crafted, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update crafted status.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updateIsPremises(Request $request, $kebabId) + { + $request->validate([ + "is_premises" => "nullable|boolean", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->is_premises = $request->input("is_premises") ?? null; + + $kebab->save(); + + return response()->json([ + "message" => "Premises status updated successfully.", + "is_premises" => $kebab->is_premises, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update premises status.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updateIsChainstore(Request $request, $kebabId) + { + $request->validate([ + "is_chainstore" => "nullable|boolean", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $kebab->is_chainstore = $request->input("is_chainstore") ?? null; + + $kebab->save(); + + return response()->json([ + "message" => "Chainstore status updated successfully.", + "is_chainstore" => $kebab->is_chainstore, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update chainstore status.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function addOrderingOption(Request $request, $kebabId) + { + $request->validate([ + "new_option" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $orderingOptions = $kebab->ordering_options ?? []; + + $orderingOptions[] = $request->input("new_option"); + + $kebab->ordering_options = $orderingOptions; + + $kebab->save(); + + return response()->json([ + "message" => "New ordering option added successfully.", + "ordering_options" => $kebab->ordering_options, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not add ordering option.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function removeOrderingOption(Request $request, $kebabId) + { + $request->validate([ + "option_to_remove" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $orderingOptions = $kebab->ordering_options ?? []; + + $orderingOptions = array_filter($orderingOptions, fn($option) => $option !== $request->input("option_to_remove")); + + $kebab->ordering_options = array_values($orderingOptions); + + $kebab->save(); + + return response()->json([ + "message" => "Ordering option removed successfully.", + "ordering_options" => $kebab->ordering_options, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not remove ordering option.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function addComment(Request $request, $kebabId) + { + $request->validate([ + "id_user" => "required|integer", + "comment" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $comments = $kebab->comments ?? []; + + $newComment = [ + "id_user" => $request->input("id_user"), + "comment" => $request->input("comment"), + ]; + + $comments[] = $newComment; + + $kebab->comments = $comments; + + $kebab->save(); + + return response()->json([ + "message" => "Comment added successfully.", + "comments" => $kebab->comments, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not add comment.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function removeComment(Request $request, $kebabId) + { + $request->validate([ + "id_user" => "required|integer", + "comment" => "required|string", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $comments = $kebab->comments ?? []; + + $comments = array_filter($comments, fn($item) => $item["id_user"] !== $request->input("id_user") || $item["comment"] !== $request->input("comment")); + + $kebab->comments = array_values($comments); + + $kebab->save(); + + return response()->json([ + "message" => "Comment removed successfully.", + "comments" => $kebab->comments, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not remove comment.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updateGoogleReviews(Request $request, $kebabId) + { + $request->validate([ + "google_reviews" => "nullable|numeric|between:0,99.9", + ]); + + try { + $kebab = Kebab::findOrFail($kebabId); + + $googleReviews = $request->input("google_reviews") !== null ? $request->input("google_reviews") : null; + + $kebab->google_reviews = $googleReviews; + + $kebab->save(); + + return response()->json([ + "message" => "Google reviews updated successfully.", + "google_reviews" => $kebab->google_reviews, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not update Google reviews.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function updatePyszneplReviews(Request $request, $kebabId) + { + $kebab = Kebab::findOrFail($kebabId); + $kebab->pysznepl_reviews = $request->input("pysznepl_reviews"); + $kebab->save(); + + return response()->json(["message" => "Pyszne.pl reviews updated successfully."]); + } + + public function getPyszneplReviews($kebabId) + { + $kebab = Kebab::findOrFail($kebabId); + + return response()->json(["pysznepl_reviews" => $kebab->pysznepl_reviews]); + } } diff --git a/Backend/app/Http/Controllers/SuggestionsController.php b/Backend/app/Http/Controllers/SuggestionsController.php new file mode 100644 index 0000000..516be6d --- /dev/null +++ b/Backend/app/Http/Controllers/SuggestionsController.php @@ -0,0 +1,46 @@ +validate([ + "user" => "required|string|max:255", + "contents" => "required|string|max:255", + ]); + + $suggestion = Suggestions::create([ + "user" => $request->input("user"), + "contents" => $request->input("contents"), + ]); + + return response()->json(["message" => "Suggestion created successfully!", "suggestion" => $suggestion], 201); + } + + public function showAllSuggestions() + { + $suggestions = Suggestions::all(); + + return response()->json(["suggestions" => $suggestions]); + } + + public function destroySuggestion($id) + { + $suggestion = Suggestions::find($id); + + if (!$suggestion) { + return response()->json(["message" => "Suggestion not found"], 404); + } + + $suggestion->delete(); + + return response()->json(["message" => "Suggestion deleted successfully."]); + } +} diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index a1d1472..5b3070a 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -4,10 +4,10 @@ namespace App\Http\Controllers; -use App\Http\Requests\FavoriteKebabRequest; use App\Http\Requests\ChangeEmailRequest; use App\Http\Requests\ChangeNameRequest; use App\Http\Requests\ChangePasswordRequest; +use App\Http\Requests\FavoriteKebabRequest; use App\Models\User; use Illuminate\Support\Facades\Auth; @@ -140,7 +140,7 @@ public function addToFavorites(FavoriteKebabRequest $request) return response()->json(["message" => "Kebab added to favorites"]); } - return response()->json(["message" => "Kebab is already in favorites"]); + return response()->json(["message" => "Kebab is already in favorites"], 400); } return response()->json(["error" => "User not found"], 404); @@ -164,7 +164,7 @@ public function removeFromFavorites(FavoriteKebabRequest $request) return response()->json(["message" => "Kebab removed from favorites"]); } - return response()->json(["message" => "Kebab not found in favorites"]); + return response()->json(["message" => "Kebab not found in favorites"], 400); } return response()->json(["error" => "User not found"], 404); diff --git a/Backend/app/Http/Requests/ChangeEmailRequest.php b/Backend/app/Http/Requests/ChangeEmailRequest.php index 94e4e56..401a1e8 100644 --- a/Backend/app/Http/Requests/ChangeEmailRequest.php +++ b/Backend/app/Http/Requests/ChangeEmailRequest.php @@ -1,5 +1,7 @@ 'required|email', - 'newEmail' => 'required|email|unique:users,email', - 'confirmEmail' => 'required|email', + "oldEmail" => "required|email", + "newEmail" => "required|email|unique:users,email", + "confirmEmail" => "required|email", ]; } } diff --git a/Backend/app/Http/Requests/ChangeNameRequest.php b/Backend/app/Http/Requests/ChangeNameRequest.php index 385cdcd..8ae007b 100644 --- a/Backend/app/Http/Requests/ChangeNameRequest.php +++ b/Backend/app/Http/Requests/ChangeNameRequest.php @@ -1,5 +1,7 @@ 'required', - 'newName' => 'required', + "oldName" => "required", + "newName" => "required", ]; } } diff --git a/Backend/app/Http/Requests/ChangePasswordRequest.php b/Backend/app/Http/Requests/ChangePasswordRequest.php index b9b3b5e..49a169d 100644 --- a/Backend/app/Http/Requests/ChangePasswordRequest.php +++ b/Backend/app/Http/Requests/ChangePasswordRequest.php @@ -1,5 +1,7 @@ 'required', - 'newPassword' => 'required', - 'confirmPassword' => 'required', + "oldPassword" => "required", + "newPassword" => "required", + "confirmPassword" => "required", ]; } } diff --git a/Backend/app/Http/Requests/KebabRequests/KebabRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabRequest.php new file mode 100644 index 0000000..7d1ff35 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabRequest.php @@ -0,0 +1,43 @@ +|string> + */ + public function rules(): array + { + return [ + "logo" => "required", + "name" => "required", + "address" => "required", + "coordinates" => "required", + "sauces" => "required", + "meats" => "required", + "status" => "required", + "opening_hours" => "required", + "opening_year" => "required", + "closing_year" => "required", + "is_crafted" => "required", + "is_premises" => "required", + "is_chainstore" => "required", + "ordering_options" => "required", + ]; + } +} diff --git a/Backend/app/Models/Suggestions.php b/Backend/app/Models/Suggestions.php new file mode 100644 index 0000000..7ac6696 --- /dev/null +++ b/Backend/app/Models/Suggestions.php @@ -0,0 +1,27 @@ + + */ + protected $fillable = [ + "user", + "contents", + ]; +} diff --git a/Backend/routes/api.php b/Backend/routes/api.php index d5a42c7..dfa0305 100644 --- a/Backend/routes/api.php +++ b/Backend/routes/api.php @@ -23,15 +23,49 @@ Route::post("/register", [AuthController::class, "register"]); Route::post("/login", [AuthController::class, "login"]); -Route::post("/kebabs", [KebabController::class, "getAllKebabs"]); -Route::get("/fav/{id}", [UserController::class, "getUserFavorites"]); -Route::get("/addfav", [UserController::class, "addToFavorites"]); -Route::get("/remfav", [UserController::class, "removeFromFavorites"]); +Route::get("/kebabs", [KebabController::class, "getAllKebabs"]); Route::middleware("auth:sanctum")->group(function (): void { Route::post("/logout", [AuthController::class, "logout"]); Route::get("/getCurrentUser", [UserController::class, "getCurrentUser"]); + Route::get("/fav/{id}", [UserController::class, "getUserFavorites"]); + Route::post("/addfav", [UserController::class, "addToFavorites"]); + Route::post("/remfav", [UserController::class, "removeFromFavorites"]); + Route::delete("/deleteUser/{id}", [UserController::class, "deleteUser"]); + Route::put("/changeName/{id}", [UserController::class, "changeName"]); + Route::put("/changePassword/{id}", [UserController::class, "changePassword"]); + Route::put("/changeEmail/{id}", [UserController::class, "changeEmail"]); + Route::post("/suggestions", [SuggestionsController::class, "createSuggestion"]); }); Route::group(["middleware" => ["admin"]], function (): void { - Route::get("/admin"); + Route::get("/getAllUsers", [UserController::class, "getAllUsers"]); + Route::post("/addNewUser", [UserController::class, "addNewUser"]); + Route::get("/kebabs", [KebabController::class, "getAllKebabs"]); + Route::post("/kebabs", [KebabController::class, "addKebab"]); + Route::delete("/kebabs/{id}", [KebabController::class, "deleteKebab"]); + Route::put("/kebabs/{kebabId}/logo", [KebabController::class, "changeKebabLogo"]); + Route::put("/kebabs/{kebabId}/name", [KebabController::class, "changeKebabName"]); + Route::put("/kebabs/{kebabId}/address", [KebabController::class, "changeKebabAddress"]); + Route::put("/kebabs/{kebabId}/coordinates", [KebabController::class, "changeKebabCoordinates"]); + Route::post("/kebabs/{kebabId}/sauce", [KebabController::class, "addSauceToKebab"]); + Route::delete("/kebabs/{kebabId}/sauce", [KebabController::class, "removeSauceFromKebab"]); + Route::post("/kebabs/{kebabId}/meat", [KebabController::class, "addMeatToKebab"]); + Route::delete("/kebabs/{kebabId}/meat", [KebabController::class, "removeMeatFromKebab"]); + Route::put("/kebabs/{kebabId}/status", [KebabController::class, "changeKebabStatus"]); + Route::post("/kebabs/{kebabId}/opening-hours", [KebabController::class, "addOpeningHour"]); + Route::delete("/kebabs/{kebabId}/opening-hours", [KebabController::class, "removeOpeningHour"]); + Route::put("/kebabs/{kebabId}/opening-hours", [KebabController::class, "changeOpeningHour"]); + Route::put("/kebabs/{kebabId}/opening-year", [KebabController::class, "updateOpeningYear"]); + Route::put("/kebabs/{kebabId}/closing-year", [KebabController::class, "updateClosingYear"]); + Route::put("/kebabs/{kebabId}/is-crafted", [KebabController::class, "updateIsCrafted"]); + Route::put("/kebabs/{kebabId}/is-premises", [KebabController::class, "updateIsPremises"]); + Route::put("/kebabs/{kebabId}/is-chainstore", [KebabController::class, "updateIsChainstore"]); + Route::post("/kebabs/{kebabId}/ordering-options", [KebabController::class, "addOrderingOption"]); + Route::delete("/kebabs/{kebabId}/ordering-options", [KebabController::class, "removeOrderingOption"]); + Route::post("/kebabs/{kebabId}/comments", [KebabController::class, "addComment"]); + Route::delete("/kebabs/{kebabId}/comments", [KebabController::class, "removeComment"]); + Route::put("/kebabs/{kebabId}/google-reviews", [KebabController::class, "updateGoogleReviews"]); + Route::put("/kebabs/{kebabId}/pysznepl-reviews", [KebabController::class, "updatePyszneplReviews"]); + Route::get("/suggestions", [SuggestionsController::class, "showAllSuggestions"]); + Route::delete("/suggestions/{id}", [SuggestionsController::class, "destroySuggestion"]); }); From 79e9bf4f2957fc07ee805847035e7ba7e8e352a1 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 10 Nov 2024 00:21:57 +0100 Subject: [PATCH 03/17] fixes --- Backend/.php-cs-fixer.cache | 2 +- Backend/app/Http/Controllers/UserController.php | 2 ++ Backend/app/Http/Middleware/CheckAdmin.php | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index 115f1c8..dba0b28 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"b0ef7edffbf9849c0e1cccf6e6feefa7","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"e1262b39937ff145d7eab3f20a15c3ba","app\\Http\\Kernel.php":"e4164fc00f7f146a483e7a5f588834dc","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"59e8b95ff50e3af1234201287e03f44f","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"21ddebbde93424605b86e78aedf883f0","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"9ad235e6c9b018e120e63227802793d9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"b0ef7edffbf9849c0e1cccf6e6feefa7","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"050d19620efdab5f4bcbe571476bc8fb","app\\Http\\Kernel.php":"e4164fc00f7f146a483e7a5f588834dc","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"59e8b95ff50e3af1234201287e03f44f","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"f882c82e54c8d5ec8e566aaaeacbf048","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"9ad235e6c9b018e120e63227802793d9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c"}} \ No newline at end of file diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index 5b3070a..df4acc8 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -8,8 +8,10 @@ use App\Http\Requests\ChangeNameRequest; use App\Http\Requests\ChangePasswordRequest; use App\Http\Requests\FavoriteKebabRequest; +use App\Http\Requests\UserRequest; use App\Models\User; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; class UserController extends Controller { diff --git a/Backend/app/Http/Middleware/CheckAdmin.php b/Backend/app/Http/Middleware/CheckAdmin.php index 0710038..d419bb4 100644 --- a/Backend/app/Http/Middleware/CheckAdmin.php +++ b/Backend/app/Http/Middleware/CheckAdmin.php @@ -6,6 +6,7 @@ use Closure; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class CheckAdmin { From 04c31ebb97a126992911e3701d31703c5202a58a Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 10 Nov 2024 00:25:15 +0100 Subject: [PATCH 04/17] fix --- Backend/config/database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Backend/config/database.php b/Backend/config/database.php index f99d036..65f8590 100644 --- a/Backend/config/database.php +++ b/Backend/config/database.php @@ -48,7 +48,7 @@ "url" => env("DATABASE_URL"), "host" => env("DB_HOST", "localhost"), "port" => env("DB_PORT", "3307"), - "database" => env("DB_DATABASE", "kibolAppDB"), + "database" => env("DB_DATABASE", "KebabDB"), "username" => env("DB_USERNAME", "root"), "password" => env("DB_PASSWORD", "root"), "unix_socket" => env("DB_SOCKET", ""), From 9ec1e206c9b558f6714ae12685744691148b91d5 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Tue, 12 Nov 2024 01:37:36 +0100 Subject: [PATCH 05/17] . --- Backend/.php-cs-fixer.cache | 2 +- .../Controllers/SuggestionsController.php | 4 +-- .../app/Http/Controllers/UserController.php | 10 +++---- Backend/app/Http/Kernel.php | 3 +- Backend/app/Http/Middleware/CheckAdmin.php | 5 +--- .../app/Http/Requests/SuggestionRequest.php | 28 +++++++++++++++++++ .../{ => UserRequests}/ChangeEmailRequest.php | 0 .../{ => UserRequests}/ChangeNameRequest.php | 0 .../ChangePasswordRequest.php | 0 .../FavoriteKebabRequest.php | 0 .../{ => UserRequests}/UserRequest.php | 0 Backend/routes/api.php | 10 +++---- 12 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 Backend/app/Http/Requests/SuggestionRequest.php rename Backend/app/Http/Requests/{ => UserRequests}/ChangeEmailRequest.php (100%) rename Backend/app/Http/Requests/{ => UserRequests}/ChangeNameRequest.php (100%) rename Backend/app/Http/Requests/{ => UserRequests}/ChangePasswordRequest.php (100%) rename Backend/app/Http/Requests/{ => UserRequests}/FavoriteKebabRequest.php (100%) rename Backend/app/Http/Requests/{ => UserRequests}/UserRequest.php (100%) diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index dba0b28..d90d555 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"b0ef7edffbf9849c0e1cccf6e6feefa7","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"050d19620efdab5f4bcbe571476bc8fb","app\\Http\\Kernel.php":"e4164fc00f7f146a483e7a5f588834dc","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"59e8b95ff50e3af1234201287e03f44f","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"f882c82e54c8d5ec8e566aaaeacbf048","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"9ad235e6c9b018e120e63227802793d9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"c3040aaae1249ac8b2cb0e91c8774c21","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"9d3fd252eb640990e6a716c8bed84300","app\\Http\\Kernel.php":"d8b2493011ca26cbc330122c78b67d71","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"cf372c1bdf43410ac27e75f8b2f351e9","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6"}} \ No newline at end of file diff --git a/Backend/app/Http/Controllers/SuggestionsController.php b/Backend/app/Http/Controllers/SuggestionsController.php index 516be6d..d61ac4c 100644 --- a/Backend/app/Http/Controllers/SuggestionsController.php +++ b/Backend/app/Http/Controllers/SuggestionsController.php @@ -4,12 +4,12 @@ namespace App\Http\Controllers; +use App\Http\Requests\SuggestionRequest; use App\Models\Suggestions; -use Illuminate\Http\Request; class SuggestionsController extends Controller { - public function createSuggestion(Request $request) + public function createSuggestion(SuggestionRequest $request) { $request->validate([ "user" => "required|string|max:255", diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index df4acc8..bf7eca8 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -4,11 +4,11 @@ namespace App\Http\Controllers; -use App\Http\Requests\ChangeEmailRequest; -use App\Http\Requests\ChangeNameRequest; -use App\Http\Requests\ChangePasswordRequest; -use App\Http\Requests\FavoriteKebabRequest; -use App\Http\Requests\UserRequest; +use App\Http\Requests\UserRequests\ChangeEmailRequest; +use App\Http\Requests\UserRequests\ChangeNameRequest; +use App\Http\Requests\UserRequests\ChangePasswordRequest; +use App\Http\Requests\UserRequests\FavoriteKebabRequest; +use App\Http\Requests\UserRequests\UserRequest; use App\Models\User; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; diff --git a/Backend/app/Http/Kernel.php b/Backend/app/Http/Kernel.php index bf92d27..fd8f083 100644 --- a/Backend/app/Http/Kernel.php +++ b/Backend/app/Http/Kernel.php @@ -14,7 +14,6 @@ use App\Http\Middleware\VerifyCsrfToken; use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth; use Illuminate\Auth\Middleware\Authorize; -use Illuminate\Auth\Middleware\CheckAdmin; use Illuminate\Auth\Middleware\EnsureEmailIsVerified; use Illuminate\Auth\Middleware\RequirePassword; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; @@ -80,7 +79,7 @@ class Kernel extends HttpKernel */ protected $middlewareAliases = [ "auth" => Authenticate::class, - "admin" => CheckAdmin::class, + "checkAdmin" => Middleware\CheckAdmin::class, "auth.basic" => AuthenticateWithBasicAuth::class, "auth.session" => AuthenticateSession::class, "cache.headers" => SetCacheHeaders::class, diff --git a/Backend/app/Http/Middleware/CheckAdmin.php b/Backend/app/Http/Middleware/CheckAdmin.php index d419bb4..570d165 100644 --- a/Backend/app/Http/Middleware/CheckAdmin.php +++ b/Backend/app/Http/Middleware/CheckAdmin.php @@ -12,11 +12,8 @@ class CheckAdmin { /** * Handle an incoming request. - * - * @param Request $request - * @return mixed */ - public function handle($request, Closure $next) + public function handle(Request $request, Closure $next): mixed { if (Auth::check() && Auth::user()->is_admin) { return $next($request); diff --git a/Backend/app/Http/Requests/SuggestionRequest.php b/Backend/app/Http/Requests/SuggestionRequest.php new file mode 100644 index 0000000..8098d82 --- /dev/null +++ b/Backend/app/Http/Requests/SuggestionRequest.php @@ -0,0 +1,28 @@ + + */ + public function rules(): array + { + return [ + "user" => "required|string|max:255", + "contents" => "required|string|max:255", + ]; + } +} diff --git a/Backend/app/Http/Requests/ChangeEmailRequest.php b/Backend/app/Http/Requests/UserRequests/ChangeEmailRequest.php similarity index 100% rename from Backend/app/Http/Requests/ChangeEmailRequest.php rename to Backend/app/Http/Requests/UserRequests/ChangeEmailRequest.php diff --git a/Backend/app/Http/Requests/ChangeNameRequest.php b/Backend/app/Http/Requests/UserRequests/ChangeNameRequest.php similarity index 100% rename from Backend/app/Http/Requests/ChangeNameRequest.php rename to Backend/app/Http/Requests/UserRequests/ChangeNameRequest.php diff --git a/Backend/app/Http/Requests/ChangePasswordRequest.php b/Backend/app/Http/Requests/UserRequests/ChangePasswordRequest.php similarity index 100% rename from Backend/app/Http/Requests/ChangePasswordRequest.php rename to Backend/app/Http/Requests/UserRequests/ChangePasswordRequest.php diff --git a/Backend/app/Http/Requests/FavoriteKebabRequest.php b/Backend/app/Http/Requests/UserRequests/FavoriteKebabRequest.php similarity index 100% rename from Backend/app/Http/Requests/FavoriteKebabRequest.php rename to Backend/app/Http/Requests/UserRequests/FavoriteKebabRequest.php diff --git a/Backend/app/Http/Requests/UserRequest.php b/Backend/app/Http/Requests/UserRequests/UserRequest.php similarity index 100% rename from Backend/app/Http/Requests/UserRequest.php rename to Backend/app/Http/Requests/UserRequests/UserRequest.php diff --git a/Backend/routes/api.php b/Backend/routes/api.php index dfa0305..5715157 100644 --- a/Backend/routes/api.php +++ b/Backend/routes/api.php @@ -4,8 +4,8 @@ use App\Http\Controllers\AuthController; use App\Http\Controllers\KebabController; +use App\Http\Controllers\SuggestionsController; use App\Http\Controllers\UserController; -use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; /* @@ -19,8 +19,6 @@ | */ -Route::middleware("auth:sanctum")->get("/user", fn(Request $request) => $request->user()); - Route::post("/register", [AuthController::class, "register"]); Route::post("/login", [AuthController::class, "login"]); Route::get("/kebabs", [KebabController::class, "getAllKebabs"]); @@ -37,11 +35,11 @@ Route::post("/suggestions", [SuggestionsController::class, "createSuggestion"]); }); -Route::group(["middleware" => ["admin"]], function (): void { +Route::group(["middleware" => ["checkAdmin"]], function (): void { Route::get("/getAllUsers", [UserController::class, "getAllUsers"]); Route::post("/addNewUser", [UserController::class, "addNewUser"]); - Route::get("/kebabs", [KebabController::class, "getAllKebabs"]); - Route::post("/kebabs", [KebabController::class, "addKebab"]); + Route::get("/getKebabs", [KebabController::class, "getAllKebabs"]); + Route::post("/addKebab", [KebabController::class, "addKebab"]); Route::delete("/kebabs/{id}", [KebabController::class, "deleteKebab"]); Route::put("/kebabs/{kebabId}/logo", [KebabController::class, "changeKebabLogo"]); Route::put("/kebabs/{kebabId}/name", [KebabController::class, "changeKebabName"]); From 1cb06fa0d748ba6bef6dc7ceb3b39aad71c9a45f Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Tue, 12 Nov 2024 17:29:12 +0100 Subject: [PATCH 06/17] . --- Backend/.php-cs-fixer.cache | 2 +- Backend/app/Models/User.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index d90d555..e2c7ca6 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"c3040aaae1249ac8b2cb0e91c8774c21","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8e58a4ac95edb329538f5bfc27d9ee4f","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"9d3fd252eb640990e6a716c8bed84300","app\\Http\\Kernel.php":"d8b2493011ca26cbc330122c78b67d71","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"cf372c1bdf43410ac27e75f8b2f351e9","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"c3040aaae1249ac8b2cb0e91c8774c21","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8d6a1ee4ff358f74e987ac793624b91e","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"9d3fd252eb640990e6a716c8bed84300","app\\Http\\Kernel.php":"d8b2493011ca26cbc330122c78b67d71","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"cf372c1bdf43410ac27e75f8b2f351e9","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6"}} \ No newline at end of file diff --git a/Backend/app/Models/User.php b/Backend/app/Models/User.php index dda6f9b..e0ea7d4 100644 --- a/Backend/app/Models/User.php +++ b/Backend/app/Models/User.php @@ -47,4 +47,12 @@ class User extends Authenticatable "email_verified_at" => "datetime", "password" => "hashed", ]; + + /** + * Check if the user is an admin. + */ + public function is_admin(): bool + { + return $this->isAdmin; + } } From a8baf958ce84a17fffa59032b459816b65f981c8 Mon Sep 17 00:00:00 2001 From: PiotrFedak Date: Tue, 12 Nov 2024 17:50:22 +0100 Subject: [PATCH 07/17] AuthControllerTests --- Backend/tests/Feature/AuthControllerTest.php | 92 ++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Backend/tests/Feature/AuthControllerTest.php diff --git a/Backend/tests/Feature/AuthControllerTest.php b/Backend/tests/Feature/AuthControllerTest.php new file mode 100644 index 0000000..c45d87c --- /dev/null +++ b/Backend/tests/Feature/AuthControllerTest.php @@ -0,0 +1,92 @@ +postJson('/api/register', [ + 'name' => 'Jasio', + 'email' => 'Jasio@example.com', + 'password' => 'password', + 'password_confirmation' => 'password', + ]); + + $response->assertStatus(200); + $this->assertDatabaseHas('users', ['email' => 'Jasio@example.com']); + } + + public function testUserCantRegisterWithMissingPasswordConfirmation() + { + $response = $this->postJson('/api/register', [ + 'name' => 'Jasio', + 'email' => 'Jasio@example.com', + 'password' => 'password', + 'password_confirmation' => '', + ]); + + $response->assertStatus(422); + $response->assertJsonValidationErrors(['password']); + $this->assertDatabaseMissing('users', ['email' => 'Jasio@example.com']); + } + + public function testUserCantRegisterWithMissingName() + { + $response = $this->postJson('/api/register', [ + 'name' => '', + 'email' => 'Jasio@example.com', + 'password' => 'password', + 'password_confirmation' => 'password', + ]); + + $response->assertStatus(422); + $response->assertJsonValidationErrors(['name']); + $this->assertDatabaseMissing('users', ['email' => 'Jasio@example.com']); + } + + public function testUserCannotLoginWithInvalidCredentials() + { + $response = $this->postJson('/api/login', [ + 'email' => 'wronguser@example.com', + 'password' => 'wrongpassword', + ]); + + $response->assertStatus(422); + $response->assertJson(['message' => 'The selected email is invalid.']); + } + public function testUserMaxNameTest(): void + { + $response = $this->post("/api/register", [ + "name" => Str::random(256), + 'email' => 'Jasio@example.com', + 'password' => 'password', + 'password_confirmation' => 'password', + ]); + + $response->assertStatus(200); + } + public function testUserCanLogin() + { + User::factory()->create([ + 'email' => 'Jasio@example.com', + 'password' => bcrypt('password'), + 'isAdmin' => false, + ]); + + $response = $this->post('/api/login', [ + 'email' => 'Jasio@example.com', + 'password' => 'password', + ]); + + $response->assertStatus(200); + $response->assertJsonStructure(['user', 'token']); + } +} From d05bac31d1299c0f201d7de385aece910491a6d9 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Thu, 21 Nov 2024 18:40:47 +0100 Subject: [PATCH 08/17] full done admin panel --- Backend/.php-cs-fixer.cache | 2 +- .../app/Http/Controllers/KebabController.php | 43 +- .../app/Http/Controllers/UserController.php | 11 + Backend/app/Http/Kernel.php | 1 - Backend/app/Http/Middleware/CheckAdmin.php | 24 - Backend/app/Models/User.php | 4 +- Backend/config/cors.php | 2 +- Backend/routes/api.php | 6 +- Backend/tests/Feature/AuthControllerTest.php | 102 +- frontend/package-lock.json | 4783 +++++++++++------ frontend/package.json | 1 + 11 files changed, 3277 insertions(+), 1702 deletions(-) delete mode 100644 Backend/app/Http/Middleware/CheckAdmin.php diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index e2c7ca6..0c5758d 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"c3040aaae1249ac8b2cb0e91c8774c21","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"6fcb0b17f2f7c50460588c995172acf7","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"8d6a1ee4ff358f74e987ac793624b91e","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"9d3fd252eb640990e6a716c8bed84300","app\\Http\\Kernel.php":"d8b2493011ca26cbc330122c78b67d71","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"55969c4b78502b4c2615028f4a5fe1a7","app\\Http\\Middleware\\CheckAdmin.php":"cf372c1bdf43410ac27e75f8b2f351e9","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"64b0d241d4005652952ecd63729d4877","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"584b47b3b8a04d20e28ec711f88871b0","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"e3a2a2065ce3da9eb85a01b1c2511023","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"f4ee4d5e052b26a16ba5c8f9433bf7e2","app\\Http\\Kernel.php":"ac608ba6bc4e68cf52ad6f26c1c002bd","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"ca126617a768885c43326df4c03d59f7","app\\Http\\Middleware\\CheckAdmin.php":"cf372c1bdf43410ac27e75f8b2f351e9","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","tests\\Feature\\AuthControllerTest.php":"60def14d559fbc5969ca0dd43bba1020"}} \ No newline at end of file diff --git a/Backend/app/Http/Controllers/KebabController.php b/Backend/app/Http/Controllers/KebabController.php index 7c3b10d..ded8041 100644 --- a/Backend/app/Http/Controllers/KebabController.php +++ b/Backend/app/Http/Controllers/KebabController.php @@ -7,11 +7,14 @@ use App\Http\Requests\KebabRequests\KebabRequest; use App\Models\Kebab; use Exception; +use Illuminate\Http\Request; class KebabController extends Controller { public function getAllKebabs() { + $this->ensureAdmin(); + try { $data = Kebab::all()->map(function ($kebab) { $kebab->logo = $kebab->logo ? "data:image/jpeg;base64," . base64_encode($kebab->logo) : null; @@ -30,6 +33,7 @@ public function getAllKebabs() public function addKebab(KebabRequest $request) { + $this->ensureAdmin(); $data = $request->validated(); try { @@ -51,6 +55,7 @@ public function addKebab(KebabRequest $request) public function deleteKebab($id) { + $this->ensureAdmin(); $kebab = Kebab::find($id); if (!$kebab) { @@ -64,6 +69,8 @@ public function deleteKebab($id) public function changeKebabLogo(Request $request, $kebabId) { + $this->ensureAdmin(); + try { $kebab = Kebab::findOrFail($kebabId); @@ -91,6 +98,7 @@ public function changeKebabLogo(Request $request, $kebabId) public function changeKebabName(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "name" => "required", ]); @@ -116,6 +124,7 @@ public function changeKebabName(Request $request, $kebabId) public function changeKebabAddress(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "address" => "required|string|max:255", ]); @@ -141,6 +150,7 @@ public function changeKebabAddress(Request $request, $kebabId) public function changeKebabCoordinates(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "coordinates" => "required|array", ]); @@ -148,7 +158,7 @@ public function changeKebabCoordinates(Request $request, $kebabId) try { $kebab = Kebab::findOrFail($kebabId); - $kebab->coordinates = json_encode($request->input("coordinates")); + $kebab->coordinates = $request->input("coordinates"); $kebab->save(); @@ -166,6 +176,7 @@ public function changeKebabCoordinates(Request $request, $kebabId) public function addSauceToKebab(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "sauce" => "required|string", ]); @@ -179,7 +190,7 @@ public function addSauceToKebab(Request $request, $kebabId) $sauces[] = $request->input("sauce"); } - $kebab->sauces = json_encode($sauces); + $kebab->sauces = $sauces; $kebab->save(); return response()->json([ @@ -196,6 +207,7 @@ public function addSauceToKebab(Request $request, $kebabId) public function removeSauceFromKebab(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "sauce" => "required|string", ]); @@ -226,6 +238,7 @@ public function removeSauceFromKebab(Request $request, $kebabId) public function addMeatToKebab(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "meat" => "required|string", ]); @@ -256,6 +269,7 @@ public function addMeatToKebab(Request $request, $kebabId) public function removeMeatFromKebab(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "meat" => "required|string", ]); @@ -286,6 +300,7 @@ public function removeMeatFromKebab(Request $request, $kebabId) public function changeKebabStatus(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "status" => "required|in:exists,closed,planned", ]); @@ -311,6 +326,7 @@ public function changeKebabStatus(Request $request, $kebabId) public function addOpeningHour(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", "hours" => "required|string", @@ -340,6 +356,7 @@ public function addOpeningHour(Request $request, $kebabId) public function removeOpeningHour(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", ]); @@ -370,6 +387,7 @@ public function removeOpeningHour(Request $request, $kebabId) public function changeOpeningHour(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", "hours" => "required|string", @@ -399,6 +417,7 @@ public function changeOpeningHour(Request $request, $kebabId) public function updateOpeningYear(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "opening_year" => "nullable|integer|digits:4", ]); @@ -424,6 +443,7 @@ public function updateOpeningYear(Request $request, $kebabId) public function updateClosingYear(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "closing_year" => "nullable|integer|digits:4", ]); @@ -449,6 +469,7 @@ public function updateClosingYear(Request $request, $kebabId) public function updateIsCrafted(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "is_crafted" => "nullable|boolean", ]); @@ -474,6 +495,7 @@ public function updateIsCrafted(Request $request, $kebabId) public function updateIsPremises(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "is_premises" => "nullable|boolean", ]); @@ -499,6 +521,7 @@ public function updateIsPremises(Request $request, $kebabId) public function updateIsChainstore(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "is_chainstore" => "nullable|boolean", ]); @@ -524,6 +547,7 @@ public function updateIsChainstore(Request $request, $kebabId) public function addOrderingOption(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "new_option" => "required|string", ]); @@ -553,6 +577,7 @@ public function addOrderingOption(Request $request, $kebabId) public function removeOrderingOption(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "option_to_remove" => "required|string", ]); @@ -582,6 +607,7 @@ public function removeOrderingOption(Request $request, $kebabId) public function addComment(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "id_user" => "required|integer", "comment" => "required|string", @@ -617,6 +643,7 @@ public function addComment(Request $request, $kebabId) public function removeComment(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "id_user" => "required|integer", "comment" => "required|string", @@ -647,6 +674,7 @@ public function removeComment(Request $request, $kebabId) public function updateGoogleReviews(Request $request, $kebabId) { + $this->ensureAdmin(); $request->validate([ "google_reviews" => "nullable|numeric|between:0,99.9", ]); @@ -674,6 +702,7 @@ public function updateGoogleReviews(Request $request, $kebabId) public function updatePyszneplReviews(Request $request, $kebabId) { + $this->ensureAdmin(); $kebab = Kebab::findOrFail($kebabId); $kebab->pysznepl_reviews = $request->input("pysznepl_reviews"); $kebab->save(); @@ -683,8 +712,18 @@ public function updatePyszneplReviews(Request $request, $kebabId) public function getPyszneplReviews($kebabId) { + $this->ensureAdmin(); $kebab = Kebab::findOrFail($kebabId); return response()->json(["pysznepl_reviews" => $kebab->pysznepl_reviews]); } + + private function ensureAdmin() + { + if (!Auth::user() || !Auth::user()->is_admin) { + return response()->json([ + "error" => "Unauthorized access. Admin rights required.", + ], 403); + } + } } diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index bf7eca8..1c2acfc 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -28,6 +28,7 @@ public function getCurrentUser() public function getAllUsers() { + $this->ensureAdmin(); $users = User::all(); return response()->json($users); @@ -35,6 +36,7 @@ public function getAllUsers() public function addNewUser(UserRequest $request) { + $this->ensureAdmin(); $user = User::create([ "name" => $request->name, "email" => $request->email, @@ -171,4 +173,13 @@ public function removeFromFavorites(FavoriteKebabRequest $request) return response()->json(["error" => "User not found"], 404); } + + private function ensureAdmin() + { + if (!Auth::user() || !Auth::user()->is_admin) { + return response()->json([ + "error" => "Unauthorized access. Admin rights required.", + ], 403); + } + } } diff --git a/Backend/app/Http/Kernel.php b/Backend/app/Http/Kernel.php index fd8f083..9958719 100644 --- a/Backend/app/Http/Kernel.php +++ b/Backend/app/Http/Kernel.php @@ -79,7 +79,6 @@ class Kernel extends HttpKernel */ protected $middlewareAliases = [ "auth" => Authenticate::class, - "checkAdmin" => Middleware\CheckAdmin::class, "auth.basic" => AuthenticateWithBasicAuth::class, "auth.session" => AuthenticateSession::class, "cache.headers" => SetCacheHeaders::class, diff --git a/Backend/app/Http/Middleware/CheckAdmin.php b/Backend/app/Http/Middleware/CheckAdmin.php deleted file mode 100644 index 570d165..0000000 --- a/Backend/app/Http/Middleware/CheckAdmin.php +++ /dev/null @@ -1,24 +0,0 @@ -is_admin) { - return $next($request); - } - - return response()->json(["error" => "NO"], 403); - } -} diff --git a/Backend/app/Models/User.php b/Backend/app/Models/User.php index e0ea7d4..158a6c9 100644 --- a/Backend/app/Models/User.php +++ b/Backend/app/Models/User.php @@ -51,8 +51,8 @@ class User extends Authenticatable /** * Check if the user is an admin. */ - public function is_admin(): bool + public function isAdmin(): bool { - return $this->isAdmin; + return (bool)$this->getAttribute("isAdmin"); } } diff --git a/Backend/config/cors.php b/Backend/config/cors.php index 603775e..239da4b 100644 --- a/Backend/config/cors.php +++ b/Backend/config/cors.php @@ -20,7 +20,7 @@ "allowed_methods" => ["*"], - "allowed_origins" => ["*"], + "allowed_origins" => ["http://localhost:3000", "*"], "allowed_origins_patterns" => [], diff --git a/Backend/routes/api.php b/Backend/routes/api.php index 5715157..9d3396a 100644 --- a/Backend/routes/api.php +++ b/Backend/routes/api.php @@ -22,6 +22,7 @@ Route::post("/register", [AuthController::class, "register"]); Route::post("/login", [AuthController::class, "login"]); Route::get("/kebabs", [KebabController::class, "getAllKebabs"]); + Route::middleware("auth:sanctum")->group(function (): void { Route::post("/logout", [AuthController::class, "logout"]); Route::get("/getCurrentUser", [UserController::class, "getCurrentUser"]); @@ -33,10 +34,7 @@ Route::put("/changePassword/{id}", [UserController::class, "changePassword"]); Route::put("/changeEmail/{id}", [UserController::class, "changeEmail"]); Route::post("/suggestions", [SuggestionsController::class, "createSuggestion"]); -}); - -Route::group(["middleware" => ["checkAdmin"]], function (): void { - Route::get("/getAllUsers", [UserController::class, "getAllUsers"]); + Route::post("/getAllUsers", [UserController::class, "getAllUsers"]); Route::post("/addNewUser", [UserController::class, "addNewUser"]); Route::get("/getKebabs", [KebabController::class, "getAllKebabs"]); Route::post("/addKebab", [KebabController::class, "addKebab"]); diff --git a/Backend/tests/Feature/AuthControllerTest.php b/Backend/tests/Feature/AuthControllerTest.php index c45d87c..9f7348d 100644 --- a/Backend/tests/Feature/AuthControllerTest.php +++ b/Backend/tests/Feature/AuthControllerTest.php @@ -1,92 +1,96 @@ postJson('/api/register', [ - 'name' => 'Jasio', - 'email' => 'Jasio@example.com', - 'password' => 'password', - 'password_confirmation' => 'password', + $response = $this->postJson("/api/register", [ + "name" => "Jasio", + "email" => "Jasio@example.com", + "password" => "password", + "password_confirmation" => "password", ]); $response->assertStatus(200); - $this->assertDatabaseHas('users', ['email' => 'Jasio@example.com']); + $this->assertDatabaseHas("users", ["email" => "Jasio@example.com"]); } - public function testUserCantRegisterWithMissingPasswordConfirmation() + public function testUserCantRegisterWithMissingPasswordConfirmation(): void { - $response = $this->postJson('/api/register', [ - 'name' => 'Jasio', - 'email' => 'Jasio@example.com', - 'password' => 'password', - 'password_confirmation' => '', + $response = $this->postJson("/api/register", [ + "name" => "Jasio", + "email" => "Jasio@example.com", + "password" => "password", + "password_confirmation" => "", ]); $response->assertStatus(422); - $response->assertJsonValidationErrors(['password']); - $this->assertDatabaseMissing('users', ['email' => 'Jasio@example.com']); + $response->assertJsonValidationErrors(["password"]); + $this->assertDatabaseMissing("users", ["email" => "Jasio@example.com"]); } - - public function testUserCantRegisterWithMissingName() + + public function testUserCantRegisterWithMissingName(): void { - $response = $this->postJson('/api/register', [ - 'name' => '', - 'email' => 'Jasio@example.com', - 'password' => 'password', - 'password_confirmation' => 'password', + $response = $this->postJson("/api/register", [ + "name" => "", + "email" => "Jasio@example.com", + "password" => "password", + "password_confirmation" => "password", ]); - + $response->assertStatus(422); - $response->assertJsonValidationErrors(['name']); - $this->assertDatabaseMissing('users', ['email' => 'Jasio@example.com']); + $response->assertJsonValidationErrors(["name"]); + $this->assertDatabaseMissing("users", ["email" => "Jasio@example.com"]); } - public function testUserCannotLoginWithInvalidCredentials() + public function testUserCannotLoginWithInvalidCredentials(): void { - $response = $this->postJson('/api/login', [ - 'email' => 'wronguser@example.com', - 'password' => 'wrongpassword', + $response = $this->postJson("/api/login", [ + "email" => "wronguser@example.com", + "password" => "wrongpassword", ]); $response->assertStatus(422); - $response->assertJson(['message' => 'The selected email is invalid.']); + $response->assertJson(["message" => "The selected email is invalid."]); } + public function testUserMaxNameTest(): void { $response = $this->post("/api/register", [ "name" => Str::random(256), - 'email' => 'Jasio@example.com', - 'password' => 'password', - 'password_confirmation' => 'password', + "email" => "Jasio@example.com", + "password" => "password", + "password_confirmation" => "password", ]); $response->assertStatus(200); } - public function testUserCanLogin() + + public function testUserCanLogin(): void { - User::factory()->create([ - 'email' => 'Jasio@example.com', - 'password' => bcrypt('password'), - 'isAdmin' => false, - ]); - - $response = $this->post('/api/login', [ - 'email' => 'Jasio@example.com', - 'password' => 'password', - ]); - - $response->assertStatus(200); - $response->assertJsonStructure(['user', 'token']); + User::factory()->create([ + "email" => "Jasio@example.com", + "password" => bcrypt("password"), + "isAdmin" => false, + ]); + + $response = $this->post("/api/login", [ + "email" => "Jasio@example.com", + "password" => "password", + ]); + + $response->assertStatus(200); + $response->assertJsonStructure(["user", "token"]); } } diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 55eb194..8f2b66b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -11,6 +11,7 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.7.7", "leaflet": "^1.9.4", "prop-types": "^15.8.1", "react": "^18.3.1", @@ -35,12 +36,14 @@ "node_modules/@adobe/css-tools": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==" + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "license": "MIT" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -52,6 +55,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -61,11 +65,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -73,28 +79,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -109,18 +117,11 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/eslint-parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.8.tgz", - "integrity": "sha512-Po3VLMN7fJtv0nsOjBDSbO1J71UhzShE9MuOSkWEV9IZQXzhZklYtzKZ8ZD/Ij3a0JBv1AG3Ny2L3jvAHQVOGg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz", + "integrity": "sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==", + "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -138,24 +139,19 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", "engines": { "node": ">=10" } }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -165,35 +161,38 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -202,25 +201,18 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -230,20 +222,13 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, @@ -254,18 +239,11 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -277,39 +255,58 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -319,32 +316,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-wrap-function": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -354,13 +354,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -370,162 +371,92 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", - "dependencies": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.26.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -535,12 +466,13 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -550,11 +482,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -564,11 +497,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -578,13 +512,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -594,12 +529,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -613,6 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -625,13 +562,14 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.7.tgz", - "integrity": "sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-decorators": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -645,6 +583,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -661,6 +600,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -677,6 +617,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -694,6 +635,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -709,6 +651,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -720,6 +663,7 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -731,6 +675,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -742,6 +687,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -753,6 +699,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -764,11 +711,12 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.7.tgz", - "integrity": "sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -778,11 +726,12 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.7.tgz", - "integrity": "sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", + "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -792,11 +741,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -806,11 +756,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -823,6 +774,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -834,6 +786,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -842,11 +795,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -859,6 +813,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -870,6 +825,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -881,6 +837,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -892,6 +849,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -903,6 +861,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -914,6 +873,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -925,6 +885,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -939,6 +900,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -950,11 +912,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", - "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -967,6 +930,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -979,11 +943,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -993,13 +958,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", - "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1009,13 +975,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1025,11 +992,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1039,11 +1007,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1053,12 +1022,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1068,12 +1038,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", - "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1083,15 +1054,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -1105,17 +1077,19 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/template": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1125,11 +1099,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1139,12 +1114,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1154,11 +1130,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1168,12 +1145,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1183,11 +1161,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", - "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1197,12 +1176,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1212,11 +1192,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", - "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1226,12 +1207,13 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.7.tgz", - "integrity": "sha512-q8Td2PPc6/6I73g96SreSUCKEcwMXCwcXSIAVTyTTN6CpJe0dMj8coxu1fg1T9vfBLi6Rsi6a4ECcFBbKabS5w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-flow": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1241,12 +1223,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1256,13 +1239,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1272,11 +1256,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", - "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1286,11 +1271,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1300,11 +1286,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", - "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1314,11 +1301,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1328,12 +1316,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1343,13 +1332,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1359,14 +1349,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1376,12 +1367,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1391,12 +1383,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1406,11 +1399,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1420,11 +1414,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", - "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1434,11 +1429,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", - "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1448,13 +1444,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", - "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-transform-parameters": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1464,12 +1461,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1479,11 +1477,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", - "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1493,12 +1492,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", - "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1508,11 +1508,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", - "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1522,12 +1523,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1537,13 +1539,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", - "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1553,11 +1556,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1567,11 +1571,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.7.tgz", - "integrity": "sha512-/qXt69Em8HgsjCLu7G3zdIQn7A2QwmYND7Wa0LTp09Na+Zn8L5d0A7wSXrKi18TJRc/Q5S1i1De/SU1LzVkSvA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1581,11 +1586,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz", - "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1595,15 +1601,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", - "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-jsx": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1613,11 +1620,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz", - "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.25.7" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1627,12 +1635,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz", - "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1642,11 +1651,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1656,12 +1666,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1671,12 +1698,13 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.7.tgz", - "integrity": "sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", @@ -1689,20 +1717,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1712,12 +1733,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1727,11 +1749,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1741,11 +1764,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1755,11 +1779,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1769,15 +1794,16 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.7.tgz", - "integrity": "sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-syntax-typescript": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1787,11 +1813,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1801,12 +1828,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1816,12 +1844,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1831,12 +1860,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1846,72 +1876,74 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz", - "integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==", - "dependencies": { - "@babel/compat-data": "^7.25.8", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.25.7", - "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.8", - "@babel/plugin-transform-async-to-generator": "^7.25.7", - "@babel/plugin-transform-block-scoped-functions": "^7.25.7", - "@babel/plugin-transform-block-scoping": "^7.25.7", - "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.8", - "@babel/plugin-transform-classes": "^7.25.7", - "@babel/plugin-transform-computed-properties": "^7.25.7", - "@babel/plugin-transform-destructuring": "^7.25.7", - "@babel/plugin-transform-dotall-regex": "^7.25.7", - "@babel/plugin-transform-duplicate-keys": "^7.25.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.8", - "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.8", - "@babel/plugin-transform-for-of": "^7.25.7", - "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.8", - "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.8", - "@babel/plugin-transform-member-expression-literals": "^7.25.7", - "@babel/plugin-transform-modules-amd": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-modules-systemjs": "^7.25.7", - "@babel/plugin-transform-modules-umd": "^7.25.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8", - "@babel/plugin-transform-numeric-separator": "^7.25.8", - "@babel/plugin-transform-object-rest-spread": "^7.25.8", - "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.8", - "@babel/plugin-transform-optional-chaining": "^7.25.8", - "@babel/plugin-transform-parameters": "^7.25.7", - "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.8", - "@babel/plugin-transform-property-literals": "^7.25.7", - "@babel/plugin-transform-regenerator": "^7.25.7", - "@babel/plugin-transform-reserved-words": "^7.25.7", - "@babel/plugin-transform-shorthand-properties": "^7.25.7", - "@babel/plugin-transform-spread": "^7.25.7", - "@babel/plugin-transform-sticky-regex": "^7.25.7", - "@babel/plugin-transform-template-literals": "^7.25.7", - "@babel/plugin-transform-typeof-symbol": "^7.25.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.7", - "@babel/plugin-transform-unicode-property-regex": "^7.25.7", - "@babel/plugin-transform-unicode-regex": "^7.25.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.6", @@ -1926,18 +1958,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -1948,16 +1973,17 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz", - "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-transform-react-display-name": "^7.25.7", - "@babel/plugin-transform-react-jsx": "^7.25.7", - "@babel/plugin-transform-react-jsx-development": "^7.25.7", - "@babel/plugin-transform-react-pure-annotations": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1967,15 +1993,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.25.7.tgz", - "integrity": "sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-syntax-jsx": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-typescript": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1985,9 +2012,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", - "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1996,28 +2024,30 @@ } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", - "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2029,18 +2059,19 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2049,17 +2080,20 @@ "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", - "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" }, "node_modules/@csstools/postcss-cascade-layers": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -2079,6 +2113,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2098,6 +2133,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2116,6 +2152,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2134,6 +2171,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2153,6 +2191,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -2172,6 +2211,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2190,6 +2230,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2208,6 +2249,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2227,6 +2269,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2241,6 +2284,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2259,6 +2303,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2277,6 +2322,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2295,6 +2341,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -2310,6 +2357,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2322,23 +2370,40 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2347,6 +2412,7 @@ "version": "0.18.0", "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", @@ -2360,6 +2426,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -2368,6 +2435,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2386,15 +2454,11 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "license": "MIT", "engines": { "node": ">=18" }, @@ -2402,21 +2466,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@eslint/js": { "version": "9.14.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -2425,14 +2479,16 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", - "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", + "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "license": "Apache-2.0", "dependencies": { "levn": "^0.4.1" }, @@ -2444,6 +2500,7 @@ "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "license": "Apache-2.0", "engines": { "node": ">=18.18.0" } @@ -2452,6 +2509,7 @@ "version": "0.16.6", "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" @@ -2464,6 +2522,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -2477,6 +2536,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", @@ -2490,6 +2550,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -2502,12 +2563,14 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead" + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" }, "node_modules/@humanwhocodes/retry": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -2520,6 +2583,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -2536,6 +2600,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -2547,6 +2612,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -2554,10 +2620,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -2574,6 +2647,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2588,6 +2662,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -2604,6 +2679,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2615,18 +2691,103 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" } }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2635,6 +2796,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2651,6 +2813,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2666,6 +2829,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -2674,6 +2838,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -2693,6 +2858,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2709,6 +2875,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", @@ -2755,6 +2922,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2770,6 +2938,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -2778,6 +2947,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -2797,6 +2967,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2813,6 +2984,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -2827,6 +2999,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2842,6 +3015,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -2850,6 +3024,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -2861,6 +3036,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -2877,6 +3053,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2892,6 +3069,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -2900,6 +3078,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -2919,6 +3098,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2935,6 +3115,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", @@ -2948,6 +3129,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2963,6 +3145,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -2971,6 +3154,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -2979,6 +3163,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -2993,6 +3178,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -3007,6 +3193,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -3015,6 +3202,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -3029,6 +3217,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -3048,6 +3237,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -3091,6 +3281,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3106,6 +3297,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -3114,6 +3306,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -3130,6 +3323,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3138,6 +3332,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -3149,6 +3344,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -3162,6 +3358,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3170,6 +3367,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/types": "^27.5.1", @@ -3184,6 +3382,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3199,6 +3398,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -3207,6 +3407,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -3221,6 +3422,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", @@ -3246,6 +3448,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3261,6 +3464,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -3268,12 +3472,14 @@ "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/@jest/transform/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -3290,6 +3496,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3298,6 +3505,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -3314,6 +3522,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3327,6 +3536,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3335,6 +3545,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3343,6 +3554,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -3351,12 +3563,14 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3365,12 +3579,14 @@ "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } @@ -3379,6 +3595,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -3391,6 +3608,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3399,6 +3617,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3411,6 +3630,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -3419,6 +3639,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3431,6 +3652,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -3440,6 +3662,7 @@ "version": "0.5.15", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", + "license": "MIT", "dependencies": { "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", @@ -3487,6 +3710,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==", + "license": "Hippocratic-2.1", "peerDependencies": { "leaflet": "^1.9.0", "react": "^18.0.0", @@ -3494,10 +3718,11 @@ } }, "node_modules/@remix-run/router": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", - "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", + "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -3506,6 +3731,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -3528,6 +3754,7 @@ "version": "11.2.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -3543,15 +3770,33 @@ "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "peerDependencies": { + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { "rollup": "^1.20.0 || ^2.0.0" } }, @@ -3559,6 +3804,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -3574,27 +3820,32 @@ "node_modules/@rollup/pluginutils/node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", - "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "license": "MIT" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -3603,6 +3854,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -3611,6 +3863,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", "dependencies": { "ejs": "^3.1.6", "json5": "^2.2.0", @@ -3622,6 +3875,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3634,6 +3888,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3646,6 +3901,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3658,6 +3914,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3670,6 +3927,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3682,6 +3940,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3694,6 +3953,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3706,6 +3966,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3718,6 +3979,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", @@ -3740,6 +4002,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", "dependencies": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", @@ -3757,6 +4020,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.12.6" }, @@ -3772,6 +4036,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", @@ -3790,6 +4055,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", @@ -3807,6 +4073,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", @@ -3829,6 +4096,7 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", @@ -3848,6 +4116,7 @@ "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.0.1", "@babel/runtime": "^7.9.2", @@ -3869,6 +4138,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3881,6 +4151,7 @@ "version": "13.4.0", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^8.5.0", @@ -3898,6 +4169,7 @@ "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3916,6 +4188,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } @@ -3924,6 +4197,7 @@ "version": "13.5.0", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -3939,6 +4213,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -3947,6 +4222,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -3954,12 +4230,14 @@ "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -3972,6 +4250,7 @@ "version": "7.6.8", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -3980,6 +4259,7 @@ "version": "7.4.4", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -3989,6 +4269,7 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } @@ -3997,6 +4278,7 @@ "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -4006,6 +4288,7 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4014,6 +4297,7 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4022,29 +4306,43 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "8.56.12", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", - "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4053,9 +4351,10 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz", - "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", + "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4067,6 +4366,7 @@ "version": "4.19.6", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4078,6 +4378,7 @@ "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4085,17 +4386,20 @@ "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" }, "node_modules/@types/http-proxy": { "version": "1.17.15", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4103,12 +4407,14 @@ "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -4117,14 +4423,16 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { - "version": "29.5.13", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", - "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -4134,6 +4442,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4145,6 +4454,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4157,35 +4467,41 @@ "node_modules/@types/jest/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/node": { - "version": "22.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", - "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.19.8" } }, "node_modules/@types/node-forge": { "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4193,46 +4509,54 @@ "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" }, "node_modules/@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" }, "node_modules/@types/prop-types": { "version": "15.7.13", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==" + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "license": "MIT" }, "node_modules/@types/q": { "version": "1.5.8", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==" + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.11", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz", - "integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==", + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "license": "MIT", "dependencies": { "@types/react": "*" } @@ -4241,6 +4565,7 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4248,17 +4573,20 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "license": "MIT" }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -4268,6 +4596,7 @@ "version": "1.9.4", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", "dependencies": { "@types/express": "*" } @@ -4276,6 +4605,7 @@ "version": "1.15.7", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -4286,6 +4616,7 @@ "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4293,12 +4624,14 @@ "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.9", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "license": "MIT", "dependencies": { "@types/jest": "*" } @@ -4306,12 +4639,14 @@ "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4320,6 +4655,7 @@ "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -4327,19 +4663,21 @@ "node_modules/@types/yargs-parser": { "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz", - "integrity": "sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz", + "integrity": "sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/type-utils": "8.13.0", - "@typescript-eslint/utils": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/scope-manager": "8.14.0", + "@typescript-eslint/type-utils": "8.14.0", + "@typescript-eslint/utils": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -4363,15 +4701,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.13.0.tgz", - "integrity": "sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.14.0.tgz", + "integrity": "sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/scope-manager": "8.14.0", + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/typescript-estree": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0", "debug": "^4.3.4" }, "engines": { @@ -4391,13 +4730,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz", - "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz", + "integrity": "sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0" + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4408,13 +4748,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz", - "integrity": "sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz", + "integrity": "sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.13.0", - "@typescript-eslint/utils": "8.13.0", + "@typescript-eslint/typescript-estree": "8.14.0", + "@typescript-eslint/utils": "8.14.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -4432,10 +4773,11 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz", - "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.14.0.tgz", + "integrity": "sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -4445,13 +4787,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz", - "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz", + "integrity": "sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -4477,6 +4820,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -4486,6 +4830,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4496,16 +4841,30 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz", - "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.14.0.tgz", + "integrity": "sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0" + "@typescript-eslint/scope-manager": "8.14.0", + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/typescript-estree": "8.14.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4519,12 +4878,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz", - "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz", + "integrity": "sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/types": "8.14.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -4535,162 +4895,195 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead" + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -4699,10 +5092,20 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.14.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4714,6 +5117,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -4723,6 +5127,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4730,18 +5135,11 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -4750,6 +5148,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -4758,6 +5157,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -4766,6 +5166,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -4778,6 +5179,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -4789,6 +5191,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4804,6 +5207,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -4820,6 +5224,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -4834,12 +5239,14 @@ "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -4848,6 +5255,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -4865,6 +5273,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -4876,6 +5285,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -4884,6 +5294,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -4892,6 +5303,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -4905,12 +5317,14 @@ "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4922,20 +5336,20 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } @@ -4944,6 +5358,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" @@ -4958,12 +5373,14 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4983,6 +5400,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -4991,6 +5409,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5010,6 +5429,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5029,6 +5449,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5046,6 +5467,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5063,6 +5485,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5083,6 +5506,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5098,6 +5522,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -5118,27 +5543,32 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", "engines": { "node": ">= 4.0.0" } @@ -5161,6 +5591,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", @@ -5183,6 +5614,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -5194,17 +5626,44 @@ } }, "node_modules/axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "license": "MPL-2.0", "engines": { "node": ">=4" } }, + "node_modules/axios": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", "engines": { "node": ">= 0.4" } @@ -5213,6 +5672,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -5234,6 +5694,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -5249,6 +5710,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -5257,6 +5719,7 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.4", @@ -5275,6 +5738,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -5292,6 +5756,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -5307,6 +5772,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -5321,6 +5787,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -5331,39 +5798,51 @@ "npm": ">=6" } }, + "node_modules/babel-plugin-macros/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/babel-plugin-named-asset-import": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", "peerDependencies": { "@babel/core": "^7.1.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", + "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.10.6", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2", "core-js-compat": "^3.38.0" @@ -5373,11 +5852,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5386,12 +5866,14 @@ "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -5417,6 +5899,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -5432,6 +5915,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -5454,17 +5938,20 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", @@ -5480,6 +5967,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", "engines": { "node": "*" } @@ -5488,6 +5976,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -5498,12 +5987,14 @@ "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" }, "node_modules/body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -5523,18 +6014,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5543,6 +6027,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -5553,12 +6038,14 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/bonjour-service": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -5567,12 +6054,14 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5582,6 +6071,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -5592,12 +6082,13 @@ "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "funding": [ { "type": "opencollective", @@ -5612,11 +6103,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -5629,6 +6121,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -5636,12 +6129,14 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -5650,9 +6145,10 @@ } }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -5661,6 +6157,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -5679,6 +6176,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5687,6 +6185,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -5696,6 +6195,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -5707,6 +6207,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -5715,6 +6216,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -5723,9 +6225,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001668", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001668.tgz", - "integrity": "sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==", + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", "funding": [ { "type": "opencollective", @@ -5739,12 +6241,14 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -5753,6 +6257,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5768,6 +6273,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -5775,12 +6281,14 @@ "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -5804,6 +6312,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -5815,6 +6324,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", "engines": { "node": ">=6.0" } @@ -5829,6 +6339,7 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } @@ -5836,12 +6347,14 @@ "node_modules/cjs-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", - "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "license": "MIT" }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -5853,6 +6366,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -5861,6 +6375,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -5871,6 +6386,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5879,6 +6395,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -5888,6 +6405,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", "dependencies": { "@types/q": "^1.5.1", "chalk": "^2.4.1", @@ -5901,6 +6419,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -5912,6 +6431,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5925,6 +6445,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -5932,12 +6453,14 @@ "node_modules/coa/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/coa/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -5946,6 +6469,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -5954,6 +6478,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -5964,12 +6489,14 @@ "node_modules/collect-v8-coverage": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5980,22 +6507,26 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -6007,6 +6538,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", "engines": { "node": ">= 12" } @@ -6015,6 +6547,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -6022,12 +6555,14 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -6036,16 +6571,17 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { @@ -6056,6 +6592,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6063,27 +6600,26 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { "node": ">=0.8" } @@ -6092,6 +6628,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -6103,6 +6640,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6110,12 +6648,14 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" }, "node_modules/cookie": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6123,24 +6663,27 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" }, "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.2" }, "funding": { "type": "opencollective", @@ -6148,10 +6691,11 @@ } }, "node_modules/core-js-pure": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", - "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -6160,12 +6704,14 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -6178,9 +6724,10 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6194,6 +6741,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6202,6 +6750,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6219,6 +6768,7 @@ "version": "6.4.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >=14" }, @@ -6230,6 +6780,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6247,6 +6798,7 @@ "version": "6.11.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -6277,10 +6829,23 @@ } } }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", "dependencies": { "cssnano": "^5.0.6", "jest-worker": "^27.0.2", @@ -6318,6 +6883,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6326,6 +6892,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", "bin": { "css-prefers-color-scheme": "dist/cli.cjs" }, @@ -6340,6 +6907,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -6354,12 +6922,14 @@ "node_modules/css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -6372,6 +6942,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6380,6 +6951,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -6390,7 +6962,8 @@ "node_modules/css.escape": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "license": "MIT" }, "node_modules/cssdb": { "version": "7.11.2", @@ -6405,12 +6978,14 @@ "type": "github", "url": "https://github.com/sponsors/csstools" } - ] + ], + "license": "CC0-1.0" }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -6422,6 +6997,7 @@ "version": "5.1.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -6442,6 +7018,7 @@ "version": "5.2.14", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -6484,6 +7061,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -6495,6 +7073,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -6506,6 +7085,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -6517,12 +7097,14 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/csso/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6530,12 +7112,14 @@ "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -6546,22 +7130,26 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -6575,6 +7163,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -6591,6 +7180,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -6607,6 +7197,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -6623,6 +7214,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -6638,17 +7230,20 @@ "node_modules/decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "license": "MIT" }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" }, "node_modules/deep-equal": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -6679,12 +7274,14 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6693,6 +7290,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -6704,6 +7302,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -6720,6 +7319,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6728,6 +7328,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -6744,6 +7345,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -6752,6 +7354,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6760,6 +7363,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -6768,6 +7372,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -6777,6 +7382,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -6784,12 +7390,14 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -6806,6 +7414,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6813,17 +7422,20 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -6832,6 +7444,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -6842,12 +7455,14 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -6856,25 +7471,28 @@ } }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "license": "MIT" }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -6883,6 +7501,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -6901,13 +7520,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -6919,6 +7540,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", "engines": { "node": ">=8" } @@ -6927,6 +7549,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -6941,6 +7564,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -6954,6 +7578,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -6963,6 +7588,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", "engines": { "node": ">=10" } @@ -6970,27 +7596,32 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -7002,14 +7633,16 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.36", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.36.tgz", - "integrity": "sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw==" + "version": "1.5.56", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.56.tgz", + "integrity": "sha512-7lXb9dAvimCFdvUMTyucD4mnIndt/xhRKFAlky0CyFogdnNmdPQNoHI23msF/2V4mpTxMzgMdjK4+YRlFlRQZw==", + "license": "ISC" }, "node_modules/emittery": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7018,14 +7651,16 @@ } }, "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -7034,6 +7669,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7042,6 +7678,7 @@ "version": "5.17.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7054,6 +7691,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -7062,6 +7700,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -7070,6 +7709,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } @@ -7078,6 +7718,7 @@ "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -7136,12 +7777,14 @@ "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" }, "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -7153,6 +7796,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -7161,6 +7805,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -7177,9 +7822,10 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", - "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -7189,6 +7835,7 @@ "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "globalthis": "^1.0.4", + "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", "has-symbols": "^1.0.3", @@ -7203,12 +7850,14 @@ "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -7220,6 +7869,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -7233,6 +7883,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "license": "MIT", "dependencies": { "hasown": "^2.0.0" } @@ -7241,6 +7892,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -7257,6 +7909,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -7264,12 +7917,14 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -7281,6 +7936,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -7301,6 +7957,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -7310,6 +7967,7 @@ "version": "9.14.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -7369,6 +8027,7 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -7379,14 +8038,33 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-module-utils": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -7403,6 +8081,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7411,6 +8090,7 @@ "version": "2.31.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -7443,35 +8123,18 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", - "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "license": "MIT", "dependencies": { - "aria-query": "~5.1.3", + "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", @@ -7479,14 +8142,13 @@ "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.19", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.0" + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" @@ -7496,17 +8158,25 @@ } }, "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dependencies": { - "deep-equal": "^2.0.5" + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, "node_modules/eslint-plugin-react": { "version": "7.37.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -7539,6 +8209,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7546,45 +8217,11 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-scope": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -7597,88 +8234,22 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", @@ -7691,21 +8262,11 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -7718,6 +8279,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -7729,6 +8291,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -7740,6 +8303,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -7747,12 +8311,14 @@ "node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -7761,6 +8327,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7768,12 +8335,14 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -7782,6 +8351,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -7812,6 +8382,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -7827,6 +8398,7 @@ "version": "4.21.1", "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -7868,6 +8440,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7875,17 +8448,20 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7901,6 +8477,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -7911,22 +8488,26 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", - "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "license": "BSD-3-Clause" }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -7935,6 +8516,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -7946,6 +8528,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } @@ -7954,6 +8537,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" }, @@ -7965,6 +8549,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -7984,6 +8569,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -8001,6 +8587,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } @@ -8009,6 +8596,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -8017,6 +8605,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8028,6 +8617,7 @@ "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } @@ -8036,6 +8626,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8047,6 +8638,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -8064,6 +8656,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8071,12 +8664,14 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -8090,21 +8685,26 @@ } }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -8116,7 +8716,8 @@ "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "license": "ISC" }, "node_modules/follow-redirects": { "version": "1.15.9", @@ -8128,6 +8729,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -8141,6 +8743,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -8149,6 +8752,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -8164,6 +8768,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "engines": { "node": ">=14" }, @@ -8175,6 +8780,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -8213,6 +8819,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -8228,6 +8835,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -8242,6 +8850,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -8255,10 +8864,23 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -8267,6 +8889,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -8280,6 +8903,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8288,6 +8912,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, @@ -8300,6 +8925,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8308,6 +8934,7 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -8320,18 +8947,21 @@ "node_modules/fs-monkey": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "license": "Unlicense" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -8344,6 +8974,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8352,6 +8983,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -8369,6 +9001,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8377,6 +9010,7 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -8385,6 +9019,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -8393,6 +9028,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -8410,12 +9046,14 @@ "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -8424,6 +9062,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8435,6 +9074,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -8452,6 +9092,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8471,6 +9112,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -8481,12 +9123,14 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -8498,6 +9142,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -8511,6 +9156,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -8523,6 +9169,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -8534,6 +9181,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -8549,6 +9197,7 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -8568,6 +9217,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -8578,17 +9228,20 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -8602,17 +9255,20 @@ "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" }, "node_modules/harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8621,6 +9277,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -8629,6 +9286,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -8640,6 +9298,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8651,6 +9310,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8662,6 +9322,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -8676,6 +9337,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -8687,6 +9349,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", "bin": { "he": "bin/he" } @@ -8695,6 +9358,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", "engines": { "node": ">= 6.0.0" } @@ -8703,6 +9367,7 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -8713,12 +9378,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8732,12 +9399,14 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -8746,6 +9415,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -8766,17 +9436,20 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } - ] + ], + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -8794,9 +9467,10 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -8835,6 +9509,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -8845,12 +9520,14 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -8865,12 +9542,14 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -8884,6 +9563,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -8897,6 +9577,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -8920,6 +9601,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -8932,6 +9614,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -8940,6 +9623,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8951,6 +9635,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -8961,12 +9646,14 @@ "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" }, "node_modules/identity-obj-proxy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", "dependencies": { "harmony-reflect": "^1.4.6" }, @@ -8978,6 +9665,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -8986,6 +9674,7 @@ "version": "9.0.21", "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -8995,6 +9684,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -9006,18 +9696,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -9036,6 +9719,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -9044,6 +9728,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9053,6 +9738,7 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9061,17 +9747,20 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -9085,6 +9774,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -9093,6 +9783,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -9108,6 +9799,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -9122,12 +9814,14 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, "node_modules/is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -9142,6 +9836,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -9153,6 +9848,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -9164,6 +9860,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -9179,6 +9876,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9190,6 +9888,7 @@ "version": "2.15.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -9204,6 +9903,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "license": "MIT", "dependencies": { "is-typed-array": "^1.1.13" }, @@ -9218,6 +9918,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -9232,6 +9933,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -9246,6 +9948,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9254,6 +9957,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -9265,6 +9969,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9273,6 +9978,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -9281,6 +9987,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -9295,6 +10002,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -9306,6 +10014,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9316,12 +10025,14 @@ "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9333,6 +10044,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -9341,6 +10053,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -9355,6 +10068,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9363,6 +10077,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -9371,6 +10086,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -9381,12 +10097,14 @@ "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -9402,6 +10120,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9410,6 +10129,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -9418,6 +10138,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9429,6 +10150,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7" }, @@ -9443,6 +10165,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -9454,6 +10177,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -9468,6 +10192,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -9482,6 +10207,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -9495,12 +10221,14 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9512,6 +10240,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -9523,6 +10252,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4" @@ -9538,6 +10268,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -9548,17 +10279,20 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -9567,6 +10301,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -9578,18 +10313,11 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -9603,6 +10331,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -9613,10 +10342,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -9630,6 +10372,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -9638,6 +10381,7 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9650,6 +10394,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", @@ -9665,6 +10410,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -9679,6 +10425,7 @@ "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -9696,6 +10443,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -9720,6 +10468,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -9733,6 +10482,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -9748,6 +10498,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -9756,6 +10507,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -9785,6 +10537,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -9800,6 +10553,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -9808,6 +10562,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -9816,6 +10571,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -9830,6 +10586,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -9844,6 +10601,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -9852,6 +10610,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -9866,6 +10625,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -9885,6 +10645,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -9901,6 +10662,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -9934,6 +10696,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -9949,6 +10712,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -9957,6 +10721,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -9973,6 +10738,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.8.0", "@jest/test-sequencer": "^27.5.1", @@ -10015,6 +10781,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10030,6 +10797,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10038,6 +10806,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10046,6 +10815,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10062,6 +10832,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -10076,6 +10847,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10087,6 +10859,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10099,12 +10872,14 @@ "node_modules/jest-diff/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-docblock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -10116,6 +10891,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -10131,6 +10907,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10146,6 +10923,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10154,6 +10932,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10162,6 +10941,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10178,6 +10958,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10195,6 +10976,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10210,6 +10992,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10218,6 +11001,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10234,6 +11018,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10250,6 +11035,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10265,6 +11051,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10273,6 +11060,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10289,6 +11077,7 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -10297,6 +11086,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", @@ -10322,6 +11112,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10337,6 +11128,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10345,6 +11137,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10361,6 +11154,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/source-map": "^27.5.1", @@ -10388,6 +11182,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10403,6 +11198,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10411,6 +11207,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10419,6 +11216,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -10433,6 +11231,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -10447,6 +11246,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10455,6 +11255,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -10469,6 +11270,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -10488,6 +11290,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10504,6 +11307,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -10516,6 +11320,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10524,6 +11329,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -10538,6 +11344,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10549,6 +11356,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10561,12 +11369,14 @@ "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -10586,6 +11396,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -10597,6 +11408,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10609,12 +11421,14 @@ "node_modules/jest-message-util/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-mock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*" @@ -10627,6 +11441,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10642,6 +11457,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10650,6 +11466,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -10666,6 +11483,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10674,6 +11492,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -10694,6 +11513,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", @@ -10707,6 +11527,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10722,6 +11543,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10730,6 +11552,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10745,6 +11568,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10753,6 +11577,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10765,10 +11590,28 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-resolve/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/jest-runner": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/environment": "^27.5.1", @@ -10800,6 +11643,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10815,6 +11659,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10823,6 +11668,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -10842,6 +11688,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10858,6 +11705,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10890,6 +11738,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10905,6 +11754,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -10913,6 +11763,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -10932,6 +11783,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10948,6 +11800,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.9" @@ -10960,6 +11813,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", @@ -10992,6 +11846,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11007,6 +11862,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -11015,6 +11871,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11023,6 +11880,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -11037,6 +11895,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -11051,6 +11910,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11059,6 +11919,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -11073,6 +11934,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -11092,6 +11954,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11104,10 +11967,23 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -11124,6 +12000,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "camelcase": "^6.2.0", @@ -11140,6 +12017,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11155,6 +12033,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -11163,6 +12042,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11171,6 +12051,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.1", "chalk": "^4.0.0", @@ -11191,6 +12072,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -11207,6 +12089,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11215,6 +12098,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -11226,6 +12110,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/types": "^28.1.3", @@ -11240,6 +12125,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -11255,12 +12141,14 @@ "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" }, "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -11272,6 +12160,7 @@ "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -11283,6 +12172,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^28.1.3", @@ -11302,6 +12192,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -11310,6 +12201,7 @@ "version": "28.0.2", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } @@ -11318,6 +12210,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -11334,6 +12227,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", "dependencies": { "@jest/test-result": "^28.1.3", "@jest/types": "^28.1.3", @@ -11352,6 +12246,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -11364,6 +12259,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11375,6 +12271,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", @@ -11388,12 +12285,14 @@ "node_modules/jest-watch-typeahead/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -11405,6 +12304,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" @@ -11420,6 +12320,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "license": "MIT", "engines": { "node": ">=12.20" } @@ -11428,6 +12329,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -11442,6 +12344,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -11453,6 +12356,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", @@ -11470,6 +12374,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11485,6 +12390,7 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -11493,6 +12399,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11509,6 +12416,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11522,6 +12430,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -11536,6 +12445,7 @@ "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -11543,15 +12453,16 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -11561,6 +12472,7 @@ "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -11606,6 +12518,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -11616,32 +12529,38 @@ "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -11653,6 +12572,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -11664,6 +12584,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", "dependencies": { "esprima": "1.2.2", "static-eval": "2.0.2", @@ -11686,6 +12607,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11694,6 +12616,7 @@ "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -11708,6 +12631,7 @@ "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -11716,6 +12640,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11724,6 +12649,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11732,6 +12658,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -11739,12 +12666,14 @@ "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" }, "node_modules/language-tags": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", "dependencies": { "language-subtag-registry": "^0.3.20" }, @@ -11756,6 +12685,7 @@ "version": "2.9.1", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -11764,12 +12694,14 @@ "node_modules/leaflet": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", - "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause" }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11778,6 +12710,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -11790,6 +12723,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -11797,12 +12731,14 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -11811,6 +12747,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -11821,50 +12758,61 @@ } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -11876,6 +12824,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -11884,6 +12833,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -11892,6 +12842,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } @@ -11900,6 +12851,7 @@ "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -11908,6 +12860,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -11918,18 +12871,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -11937,12 +12883,14 @@ "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11951,6 +12899,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -11962,6 +12911,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -11969,12 +12919,14 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -11983,6 +12935,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11991,6 +12944,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -12003,6 +12957,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -12014,6 +12969,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12022,6 +12978,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -12033,6 +12990,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -12041,14 +12999,16 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", - "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -12067,12 +13027,14 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -12084,6 +13046,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12092,6 +13055,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -12100,6 +13064,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -12110,12 +13075,14 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -12128,6 +13095,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -12144,6 +13112,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -12154,17 +13123,20 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12172,12 +13144,14 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -12187,6 +13161,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -12194,17 +13169,20 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12213,6 +13191,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12221,6 +13200,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -12232,6 +13212,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -12243,6 +13224,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -12253,12 +13235,14 @@ "node_modules/nwsapi": { "version": "2.2.13", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", - "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==" + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12267,14 +13251,16 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -12286,6 +13272,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -12301,6 +13288,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -12309,6 +13297,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -12326,6 +13315,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12339,6 +13329,7 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12356,6 +13347,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "license": "MIT", "dependencies": { "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.7", @@ -12376,6 +13368,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12389,6 +13382,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -12404,12 +13398,14 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -12421,6 +13417,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12429,6 +13426,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -12437,6 +13435,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -12451,6 +13450,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -12467,6 +13467,7 @@ "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -12480,34 +13481,40 @@ } }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-retry": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -12520,6 +13527,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -12527,12 +13535,14 @@ "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -12542,6 +13552,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -12553,6 +13564,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -12569,12 +13581,14 @@ "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12583,6 +13597,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -12592,6 +13607,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12600,6 +13616,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12608,6 +13625,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12615,12 +13633,14 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -12635,17 +13655,20 @@ "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/path-to-regexp": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -12653,17 +13676,20 @@ "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -12675,6 +13701,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12683,6 +13710,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -12691,6 +13719,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -12698,10 +13727,63 @@ "node": ">=8" } }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -12713,6 +13795,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -12724,6 +13807,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -12732,10 +13816,26 @@ "node": ">=6" } }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -12747,6 +13847,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", "engines": { "node": ">=4" } @@ -12755,14 +13856,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -12777,9 +13879,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -12790,6 +13893,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -12808,6 +13912,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", "engines": { "node": ">=8" }, @@ -12820,6 +13925,7 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" @@ -12832,6 +13938,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12846,6 +13953,7 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12864,6 +13972,7 @@ "version": "8.0.4", "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12882,6 +13991,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12900,6 +14010,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -12917,6 +14028,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -12932,6 +14044,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12950,6 +14063,7 @@ "version": "12.1.11", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12968,6 +14082,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -12986,6 +14101,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -13004,6 +14120,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -13015,6 +14132,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -13026,6 +14144,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -13037,6 +14156,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -13048,6 +14168,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -13067,6 +14188,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13081,6 +14203,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8.1.4" } @@ -13089,6 +14212,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -13103,6 +14227,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -13117,6 +14242,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", "peerDependencies": { "postcss": "^8.1.0" } @@ -13125,6 +14251,7 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -13140,6 +14267,7 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13158,6 +14286,7 @@ "version": "15.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -13170,10 +14299,28 @@ "postcss": "^8.0.0" } }, + "node_modules/postcss-import/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/postcss-initial": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8.0.0" } @@ -13182,6 +14329,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -13200,6 +14348,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -13229,6 +14378,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -13253,6 +14403,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -13261,9 +14412,10 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -13275,6 +14427,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", @@ -13292,10 +14445,23 @@ "webpack": "^5.0.0" } }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/postcss-logical": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -13307,6 +14473,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -13318,6 +14485,7 @@ "version": "5.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" @@ -13333,6 +14501,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -13350,6 +14519,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13364,6 +14534,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", @@ -13380,6 +14551,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", @@ -13396,6 +14568,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -13410,6 +14583,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -13418,13 +14592,42 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -13433,24 +14636,24 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=4" } }, "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -13475,6 +14678,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.1.1" }, @@ -13489,6 +14693,7 @@ "version": "10.2.0", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -13508,6 +14713,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", "dependencies": { "@csstools/normalize.css": "*", "postcss-browser-comments": "^4", @@ -13525,6 +14731,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -13536,6 +14743,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13550,6 +14758,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13564,6 +14773,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13578,6 +14788,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13592,6 +14803,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13606,6 +14818,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -13621,6 +14834,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" @@ -13636,6 +14850,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13660,6 +14875,7 @@ "url": "https://liberapay.com/mrcgrtz" } ], + "license": "MIT", "engines": { "node": "^12 || ^14 || >=16" }, @@ -13671,6 +14887,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -13686,6 +14903,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13704,6 +14922,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", "peerDependencies": { "postcss": "^8" } @@ -13712,6 +14931,7 @@ "version": "7.0.5", "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13730,6 +14950,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", "dependencies": { "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", @@ -13796,6 +15017,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -13814,6 +15036,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" @@ -13829,6 +15052,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13843,6 +15067,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", "peerDependencies": { "postcss": "^8.0.3" } @@ -13851,6 +15076,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -13869,6 +15095,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -13881,6 +15108,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" @@ -13896,6 +15124,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -13904,6 +15133,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -13915,12 +15145,14 @@ "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" }, "node_modules/postcss-svgo/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -13929,6 +15161,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -13949,6 +15182,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -13962,12 +15196,14 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -13976,6 +15212,7 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", "engines": { "node": ">=6" }, @@ -13987,6 +15224,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -13996,6 +15234,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -14009,6 +15248,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -14019,12 +15259,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", "dependencies": { "asap": "~2.0.6" } @@ -14033,6 +15275,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -14045,6 +15288,7 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -14054,12 +15298,14 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -14072,19 +15318,31 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.10.0.tgz", + "integrity": "sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + } }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -14094,6 +15352,7 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -14103,6 +15362,7 @@ "version": "6.13.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" }, @@ -14116,7 +15376,8 @@ "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -14135,12 +15396,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", "dependencies": { "performance-now": "^2.1.0" } @@ -14149,6 +15412,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -14157,6 +15421,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14165,6 +15430,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -14175,18 +15441,11 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -14198,6 +15457,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -14209,6 +15469,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", "dependencies": { "core-js": "^3.19.2", "object-assign": "^4.1.1", @@ -14224,12 +15485,14 @@ "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" }, "node_modules/react-dev-utils": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -14260,75 +15523,20 @@ "node": ">=14" } }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/react-dev-utils/node_modules/loader-utils": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", "engines": { "node": ">= 12.13.0" } }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -14340,17 +15548,20 @@ "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "license": "MIT" }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" }, "node_modules/react-leaflet": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.2.1.tgz", "integrity": "sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q==", + "license": "Hippocratic-2.1", "dependencies": { "@react-leaflet/core": "^2.1.0" }, @@ -14364,17 +15575,19 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-router": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", - "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz", + "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", "dev": true, + "license": "MIT", "dependencies": { - "@remix-run/router": "1.19.2" + "@remix-run/router": "1.21.0" }, "engines": { "node": ">=14.0.0" @@ -14384,13 +15597,14 @@ } }, "node_modules/react-router-dom": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", - "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz", + "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", "dev": true, + "license": "MIT", "dependencies": { - "@remix-run/router": "1.19.2", - "react-router": "6.26.2" + "@remix-run/router": "1.21.0", + "react-router": "6.28.0" }, "engines": { "node": ">=14.0.0" @@ -14404,6 +15618,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", @@ -14476,6 +15691,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -14498,14 +15714,26 @@ "version": "8.57.1", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/react-scripts/node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, "node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -14539,6 +15767,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "5.62.0" }, @@ -14557,6 +15786,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -14583,6 +15813,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -14599,6 +15830,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -14625,6 +15857,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -14637,6 +15870,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -14663,6 +15897,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -14688,6 +15923,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -14700,6 +15936,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -14708,6 +15945,7 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -14720,16 +15958,24 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/react-scripts/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "node_modules/react-scripts/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } }, "node_modules/react-scripts/node_modules/eslint": { "version": "8.57.1", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -14784,6 +16030,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -14811,6 +16058,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -14828,6 +16076,7 @@ "version": "25.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -14851,6 +16100,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -14862,6 +16112,7 @@ "version": "5.11.1", "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -14877,6 +16128,7 @@ "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -14888,10 +16140,23 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/react-scripts/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/react-scripts/node_modules/eslint-webpack-plugin": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", "dependencies": { "@types/eslint": "^7.29.0 || ^8.4.1", "jest-worker": "^28.0.2", @@ -14915,6 +16180,7 @@ "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -14931,6 +16197,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -14938,25 +16205,11 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/react-scripts/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/react-scripts/node_modules/flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -14970,6 +16223,7 @@ "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -14984,6 +16238,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -14993,63 +16248,40 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/react-scripts/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/react-scripts/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/react-scripts/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-scripts/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-scripts/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" + "node_modules/react-scripts/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/react-scripts/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -15064,6 +16296,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -15075,6 +16308,7 @@ "version": "10.0.6", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.6.tgz", "integrity": "sha512-yYjp+omCDf9lhZcrZHKbSq7YMuK0zcYkDFTzfRFgTXkTFHZ1ToxwAonzA4JI5CxA91JpjFLmwEsZEgfYfOqI1A==", + "license": "MIT", "dependencies": { "clsx": "^2.1.0" }, @@ -15087,6 +16321,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -15095,6 +16330,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -15108,6 +16344,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -15119,6 +16356,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -15130,6 +16368,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -15142,6 +16381,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -15161,12 +16401,14 @@ "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -15177,12 +16419,14 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -15190,12 +16434,14 @@ "node_modules/regex-parser": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -15213,6 +16459,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", @@ -15228,12 +16475,14 @@ "node_modules/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", - "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", + "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~3.0.2" }, @@ -15245,6 +16494,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -15253,6 +16503,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -15265,6 +16516,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15273,6 +16525,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15280,12 +16533,14 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -15302,6 +16557,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -15309,18 +16565,29 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/resolve-url-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", @@ -15347,17 +16614,20 @@ "node_modules/resolve-url-loader/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/resolve-url-loader/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" @@ -15374,6 +16644,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15382,6 +16653,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", "engines": { "node": ">=10" } @@ -15390,6 +16662,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -15398,6 +16671,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -15408,6 +16682,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -15422,6 +16697,7 @@ "version": "2.79.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -15437,6 +16713,7 @@ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -15451,6 +16728,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -15464,6 +16742,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -15486,6 +16765,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -15494,6 +16774,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -15524,12 +16805,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -15545,17 +16828,20 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sanitize.css": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" }, "node_modules/sass-loader": { "version": "12.6.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" @@ -15592,12 +16878,14 @@ "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" }, "node_modules/saxes": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -15609,6 +16897,7 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } @@ -15617,6 +16906,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -15635,6 +16925,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -15650,6 +16941,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -15660,17 +16952,20 @@ "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -15680,20 +16975,19 @@ } }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -15717,6 +17011,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -15724,12 +17019,14 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -15738,6 +17035,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -15746,6 +17044,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -15763,6 +17062,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -15771,6 +17071,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15779,6 +17080,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -15792,22 +17094,26 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15816,6 +17122,7 @@ "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", @@ -15830,6 +17137,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -15846,6 +17154,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -15859,12 +17168,14 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -15876,6 +17187,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15884,6 +17196,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15892,6 +17205,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -15908,17 +17222,20 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -15927,6 +17244,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -15936,12 +17254,14 @@ "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -15950,6 +17270,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15958,6 +17279,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", "dependencies": { "abab": "^2.0.5", "iconv-lite": "^0.6.3", @@ -15978,6 +17300,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -15987,6 +17310,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15995,12 +17319,14 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -16016,6 +17342,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -16028,18 +17355,21 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -16051,6 +17381,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -16058,12 +17389,14 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" }, "node_modules/static-eval": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", "dependencies": { "escodegen": "^1.8.1" } @@ -16072,6 +17405,7 @@ "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", @@ -16093,6 +17427,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -16101,6 +17436,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -16113,6 +17449,7 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -16137,6 +17474,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -16146,6 +17484,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -16157,6 +17496,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -16165,6 +17505,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -16176,6 +17517,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -16184,6 +17526,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -16195,12 +17538,14 @@ "node_modules/string-natural-compare": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -16215,6 +17560,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -16224,29 +17570,25 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, "node_modules/string.prototype.includes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", - "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "license": "MIT", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16272,6 +17614,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" @@ -16281,6 +17624,7 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16298,6 +17642,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16311,6 +17656,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16327,6 +17673,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -16340,6 +17687,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -16352,6 +17700,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -16363,6 +17712,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -16371,6 +17721,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -16379,6 +17730,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -16387,6 +17739,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -16398,6 +17751,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -16409,6 +17763,7 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", "engines": { "node": ">= 12.13.0" }, @@ -16424,6 +17779,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" @@ -16439,6 +17795,7 @@ "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -16460,6 +17817,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -16468,6 +17826,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", "engines": { "node": ">= 6" } @@ -16476,6 +17835,7 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -16495,6 +17855,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -16509,6 +17870,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16520,6 +17882,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -16532,6 +17895,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -16542,13 +17906,15 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -16575,6 +17941,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -16582,10 +17949,20 @@ "node": ">=4" } }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/svgo/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -16599,6 +17976,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -16606,12 +17984,14 @@ "node_modules/svgo/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/svgo/node_modules/css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^3.2.1", @@ -16623,6 +18003,7 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -16634,6 +18015,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -16643,6 +18025,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -16651,12 +18034,14 @@ "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" }, "node_modules/svgo/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -16665,14 +18050,29 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/svgo/node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "~1.0.0" } @@ -16681,6 +18081,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -16691,12 +18092,14 @@ "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" }, "node_modules/tailwindcss": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", - "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", + "version": "3.4.14", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", + "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -16729,10 +18132,28 @@ "node": ">=14.0.0" } }, + "node_modules/tailwindcss/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -16741,6 +18162,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -16749,6 +18171,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", @@ -16766,6 +18189,7 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -16777,6 +18201,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -16789,9 +18214,10 @@ } }, "node_modules/terser": { - "version": "5.34.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", - "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -16809,6 +18235,7 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -16842,6 +18269,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -16858,12 +18286,14 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -16876,12 +18306,14 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -16890,6 +18322,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -16900,30 +18333,26 @@ "node_modules/throat": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -16935,6 +18364,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -16943,6 +18373,7 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -16957,6 +18388,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -16965,6 +18397,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -16975,13 +18408,15 @@ "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" }, "node_modules/ts-api-utils": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -16992,12 +18427,14 @@ "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -17009,6 +18446,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -17020,19 +18458,22 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -17046,12 +18487,14 @@ "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -17063,6 +18506,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -17071,6 +18515,7 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -17082,6 +18527,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -17094,6 +18540,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -17107,6 +18554,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -17125,6 +18573,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -17144,6 +18593,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -17163,6 +18613,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } @@ -17171,6 +18622,7 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -17180,14 +18632,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.13.0.tgz", - "integrity": "sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.14.0.tgz", + "integrity": "sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.13.0", - "@typescript-eslint/parser": "8.13.0", - "@typescript-eslint/utils": "8.13.0" + "@typescript-eslint/eslint-plugin": "8.14.0", + "@typescript-eslint/parser": "8.14.0", + "@typescript-eslint/utils": "8.14.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -17206,6 +18659,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -17219,17 +18673,20 @@ "node_modules/underscore": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" }, "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -17238,6 +18695,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -17250,6 +18708,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -17258,6 +18717,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -17266,6 +18726,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -17277,6 +18738,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -17285,6 +18747,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -17292,12 +18755,14 @@ "node_modules/unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", "engines": { "node": ">=4", "yarn": "*" @@ -17321,6 +18786,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.0" @@ -17336,6 +18802,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -17344,6 +18811,7 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -17352,12 +18820,14 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/util.promisify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.2", @@ -17371,12 +18841,14 @@ "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -17385,6 +18857,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -17393,6 +18866,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", @@ -17405,12 +18879,14 @@ "node_modules/v8-to-istanbul/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -17420,6 +18896,7 @@ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", "dependencies": { "browser-process-hrtime": "^1.0.0" } @@ -17428,6 +18905,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -17439,6 +18917,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } @@ -17447,6 +18926,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -17459,6 +18939,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -17466,28 +18947,31 @@ "node_modules/web-vitals": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==", + "license": "Apache-2.0" }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", "engines": { "node": ">=10.4" } }, "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "version": "5.96.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", @@ -17525,6 +19009,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -17547,6 +19032,7 @@ "version": "4.15.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -17605,6 +19091,7 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -17625,6 +19112,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^2.2.0" @@ -17640,6 +19128,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17648,6 +19137,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -17660,6 +19150,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -17668,6 +19159,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -17680,6 +19172,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -17688,6 +19181,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -17705,6 +19199,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -17718,6 +19213,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -17726,6 +19222,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "license": "MIT", "dependencies": { "iconv-lite": "0.4.24" } @@ -17734,6 +19231,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -17744,17 +19242,20 @@ "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" }, "node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" }, "node_modules/whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "license": "MIT", "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -17768,6 +19269,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -17782,6 +19284,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -17797,6 +19300,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "license": "MIT", "dependencies": { "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", @@ -17822,6 +19326,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -17839,6 +19344,7 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -17857,6 +19363,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -17865,6 +19372,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "license": "MIT", "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" @@ -17874,6 +19382,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -17882,6 +19391,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "license": "MIT", "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -17929,6 +19439,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", @@ -17945,6 +19456,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -17960,6 +19472,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -17973,12 +19486,14 @@ "node_modules/workbox-build/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "license": "BSD-3-Clause", "dependencies": { "whatwg-url": "^7.0.0" }, @@ -17990,6 +19505,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", "dependencies": { "punycode": "^2.1.0" } @@ -17997,12 +19513,14 @@ "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" }, "node_modules/workbox-build/node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", @@ -18014,6 +19532,7 @@ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", "deprecated": "workbox-background-sync@6.6.0", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -18021,12 +19540,14 @@ "node_modules/workbox-core": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", + "license": "MIT" }, "node_modules/workbox-expiration": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "license": "MIT", "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" @@ -18037,6 +19558,7 @@ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", "dependencies": { "workbox-background-sync": "6.6.0", "workbox-core": "6.6.0", @@ -18048,6 +19570,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -18056,6 +19579,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0", @@ -18066,6 +19590,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -18074,6 +19599,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "license": "MIT", "dependencies": { "workbox-cacheable-response": "6.6.0", "workbox-core": "6.6.0", @@ -18087,6 +19613,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -18095,6 +19622,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -18103,6 +19631,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "license": "MIT", "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0" @@ -18111,12 +19640,14 @@ "node_modules/workbox-sw": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", + "license": "MIT" }, "node_modules/workbox-webpack-plugin": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", @@ -18135,6 +19666,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -18143,6 +19675,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -18152,6 +19685,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "license": "MIT", "dependencies": { "@types/trusted-types": "^2.0.2", "workbox-core": "6.6.0" @@ -18161,6 +19695,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -18178,6 +19713,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -18193,12 +19729,14 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -18210,6 +19748,7 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -18229,17 +19768,20 @@ "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", "engines": { "node": ">=10" } @@ -18247,12 +19789,14 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", "engines": { "node": ">= 6" } @@ -18261,6 +19805,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -18278,6 +19823,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { "node": ">=10" } @@ -18286,6 +19832,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/frontend/package.json b/frontend/package.json index 9e1db10..cc8fa6d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,6 +7,7 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.7.7", "leaflet": "^1.9.4", "prop-types": "^15.8.1", "react": "^18.3.1", From 4e8c4770574d1171523cc9c8187b08cce16ebb8b Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 24 Nov 2024 20:28:08 +0100 Subject: [PATCH 09/17] end this suffering --- Backend/.php-cs-fixer.cache | 2 +- .../app/Http/Controllers/KebabController.php | 38 -- .../app/Http/Controllers/UserController.php | 11 - Backend/app/Http/Kernel.php | 2 + Backend/app/Http/Middleware/CheckAdmin.php | 22 + Backend/app/Models/Kebab.php | 3 +- Backend/composer.json | 4 +- Backend/composer.lock | 380 +++++++++++++++++- .../2024_10_16_105416_create_kebabs_table.php | 11 +- Backend/routes/api.php | 10 +- 10 files changed, 417 insertions(+), 66 deletions(-) create mode 100644 Backend/app/Http/Middleware/CheckAdmin.php diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index 0c5758d..42ef80d 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"2a6935368dc3e59f1ad35e74d19acb4b","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"64b0d241d4005652952ecd63729d4877","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"584b47b3b8a04d20e28ec711f88871b0","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"e3a2a2065ce3da9eb85a01b1c2511023","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"f4ee4d5e052b26a16ba5c8f9433bf7e2","app\\Http\\Kernel.php":"ac608ba6bc4e68cf52ad6f26c1c002bd","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"10b79dba6a80b7d2e2db7d4d0239f676","bootstrap\\cache\\services.php":"7f1948d3238688c7d2b954694882c3f4","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"e56159b3303e64f3e1476311858d5805","app\\Http\\Controllers\\KebabController.php":"ca126617a768885c43326df4c03d59f7","app\\Http\\Middleware\\CheckAdmin.php":"cf372c1bdf43410ac27e75f8b2f351e9","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","tests\\Feature\\AuthControllerTest.php":"60def14d559fbc5969ca0dd43bba1020"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"1e355493c4cc9272fb4c67c2e6ba96c4","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"9278fe2e667deb61f8f0cdd74c77dd3f","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"584b47b3b8a04d20e28ec711f88871b0","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"e3a2a2065ce3da9eb85a01b1c2511023","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"9d3fd252eb640990e6a716c8bed84300","app\\Http\\Kernel.php":"dd78ef286f08e779169ef79df8cbd150","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"3f84f9914315922d5543d1e84337a3bd","bootstrap\\cache\\services.php":"7ac0495437ab7fc2e0df672065ebb826","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"519eb295352fc20c8865e15c00ce9e2d","app\\Http\\Controllers\\KebabController.php":"3fe1290fd2b8fc298e7dbd27087fc411","app\\Http\\Middleware\\CheckAdmin.php":"bfbf273b33fdacb20f8577ad9748a8fc","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","tests\\Feature\\AuthControllerTest.php":"60def14d559fbc5969ca0dd43bba1020","app\\Http\\Controllers\\GoogleScraperController.php":"de8ae9535538ef7664559b2e3cebb12d","app\\Services\\GoogleScraper.php":"f6e5adad52184bce6d8f064868b4f3be"}} \ No newline at end of file diff --git a/Backend/app/Http/Controllers/KebabController.php b/Backend/app/Http/Controllers/KebabController.php index ded8041..e387272 100644 --- a/Backend/app/Http/Controllers/KebabController.php +++ b/Backend/app/Http/Controllers/KebabController.php @@ -13,8 +13,6 @@ class KebabController extends Controller { public function getAllKebabs() { - $this->ensureAdmin(); - try { $data = Kebab::all()->map(function ($kebab) { $kebab->logo = $kebab->logo ? "data:image/jpeg;base64," . base64_encode($kebab->logo) : null; @@ -33,7 +31,6 @@ public function getAllKebabs() public function addKebab(KebabRequest $request) { - $this->ensureAdmin(); $data = $request->validated(); try { @@ -55,7 +52,6 @@ public function addKebab(KebabRequest $request) public function deleteKebab($id) { - $this->ensureAdmin(); $kebab = Kebab::find($id); if (!$kebab) { @@ -69,8 +65,6 @@ public function deleteKebab($id) public function changeKebabLogo(Request $request, $kebabId) { - $this->ensureAdmin(); - try { $kebab = Kebab::findOrFail($kebabId); @@ -98,7 +92,6 @@ public function changeKebabLogo(Request $request, $kebabId) public function changeKebabName(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "name" => "required", ]); @@ -124,7 +117,6 @@ public function changeKebabName(Request $request, $kebabId) public function changeKebabAddress(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "address" => "required|string|max:255", ]); @@ -150,7 +142,6 @@ public function changeKebabAddress(Request $request, $kebabId) public function changeKebabCoordinates(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "coordinates" => "required|array", ]); @@ -176,7 +167,6 @@ public function changeKebabCoordinates(Request $request, $kebabId) public function addSauceToKebab(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "sauce" => "required|string", ]); @@ -207,7 +197,6 @@ public function addSauceToKebab(Request $request, $kebabId) public function removeSauceFromKebab(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "sauce" => "required|string", ]); @@ -238,7 +227,6 @@ public function removeSauceFromKebab(Request $request, $kebabId) public function addMeatToKebab(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "meat" => "required|string", ]); @@ -269,7 +257,6 @@ public function addMeatToKebab(Request $request, $kebabId) public function removeMeatFromKebab(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "meat" => "required|string", ]); @@ -300,7 +287,6 @@ public function removeMeatFromKebab(Request $request, $kebabId) public function changeKebabStatus(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "status" => "required|in:exists,closed,planned", ]); @@ -326,7 +312,6 @@ public function changeKebabStatus(Request $request, $kebabId) public function addOpeningHour(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", "hours" => "required|string", @@ -356,7 +341,6 @@ public function addOpeningHour(Request $request, $kebabId) public function removeOpeningHour(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", ]); @@ -387,7 +371,6 @@ public function removeOpeningHour(Request $request, $kebabId) public function changeOpeningHour(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", "hours" => "required|string", @@ -417,7 +400,6 @@ public function changeOpeningHour(Request $request, $kebabId) public function updateOpeningYear(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "opening_year" => "nullable|integer|digits:4", ]); @@ -443,7 +425,6 @@ public function updateOpeningYear(Request $request, $kebabId) public function updateClosingYear(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "closing_year" => "nullable|integer|digits:4", ]); @@ -469,7 +450,6 @@ public function updateClosingYear(Request $request, $kebabId) public function updateIsCrafted(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "is_crafted" => "nullable|boolean", ]); @@ -495,7 +475,6 @@ public function updateIsCrafted(Request $request, $kebabId) public function updateIsPremises(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "is_premises" => "nullable|boolean", ]); @@ -521,7 +500,6 @@ public function updateIsPremises(Request $request, $kebabId) public function updateIsChainstore(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "is_chainstore" => "nullable|boolean", ]); @@ -547,7 +525,6 @@ public function updateIsChainstore(Request $request, $kebabId) public function addOrderingOption(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "new_option" => "required|string", ]); @@ -577,7 +554,6 @@ public function addOrderingOption(Request $request, $kebabId) public function removeOrderingOption(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "option_to_remove" => "required|string", ]); @@ -607,7 +583,6 @@ public function removeOrderingOption(Request $request, $kebabId) public function addComment(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "id_user" => "required|integer", "comment" => "required|string", @@ -643,7 +618,6 @@ public function addComment(Request $request, $kebabId) public function removeComment(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "id_user" => "required|integer", "comment" => "required|string", @@ -674,7 +648,6 @@ public function removeComment(Request $request, $kebabId) public function updateGoogleReviews(Request $request, $kebabId) { - $this->ensureAdmin(); $request->validate([ "google_reviews" => "nullable|numeric|between:0,99.9", ]); @@ -702,7 +675,6 @@ public function updateGoogleReviews(Request $request, $kebabId) public function updatePyszneplReviews(Request $request, $kebabId) { - $this->ensureAdmin(); $kebab = Kebab::findOrFail($kebabId); $kebab->pysznepl_reviews = $request->input("pysznepl_reviews"); $kebab->save(); @@ -712,18 +684,8 @@ public function updatePyszneplReviews(Request $request, $kebabId) public function getPyszneplReviews($kebabId) { - $this->ensureAdmin(); $kebab = Kebab::findOrFail($kebabId); return response()->json(["pysznepl_reviews" => $kebab->pysznepl_reviews]); } - - private function ensureAdmin() - { - if (!Auth::user() || !Auth::user()->is_admin) { - return response()->json([ - "error" => "Unauthorized access. Admin rights required.", - ], 403); - } - } } diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index 1c2acfc..bf7eca8 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -28,7 +28,6 @@ public function getCurrentUser() public function getAllUsers() { - $this->ensureAdmin(); $users = User::all(); return response()->json($users); @@ -36,7 +35,6 @@ public function getAllUsers() public function addNewUser(UserRequest $request) { - $this->ensureAdmin(); $user = User::create([ "name" => $request->name, "email" => $request->email, @@ -173,13 +171,4 @@ public function removeFromFavorites(FavoriteKebabRequest $request) return response()->json(["error" => "User not found"], 404); } - - private function ensureAdmin() - { - if (!Auth::user() || !Auth::user()->is_admin) { - return response()->json([ - "error" => "Unauthorized access. Admin rights required.", - ], 403); - } - } } diff --git a/Backend/app/Http/Kernel.php b/Backend/app/Http/Kernel.php index 9958719..f7a403f 100644 --- a/Backend/app/Http/Kernel.php +++ b/Backend/app/Http/Kernel.php @@ -5,6 +5,7 @@ namespace App\Http; use App\Http\Middleware\Authenticate; +use App\Http\Middleware\CheckAdmin; use App\Http\Middleware\EncryptCookies; use App\Http\Middleware\PreventRequestsDuringMaintenance; use App\Http\Middleware\RedirectIfAuthenticated; @@ -89,5 +90,6 @@ class Kernel extends HttpKernel "signed" => ValidateSignature::class, "throttle" => ThrottleRequests::class, "verified" => EnsureEmailIsVerified::class, + "admin" => CheckAdmin::class, ]; } diff --git a/Backend/app/Http/Middleware/CheckAdmin.php b/Backend/app/Http/Middleware/CheckAdmin.php new file mode 100644 index 0000000..e9fa623 --- /dev/null +++ b/Backend/app/Http/Middleware/CheckAdmin.php @@ -0,0 +1,22 @@ +user() && $request->user()->isAdmin === 1) { + return $next($request); + } + + return response()->json(["error" => "Unauthorized"], 403); + } +} diff --git a/Backend/app/Models/Kebab.php b/Backend/app/Models/Kebab.php index 7954bae..cdfa78f 100644 --- a/Backend/app/Models/Kebab.php +++ b/Backend/app/Models/Kebab.php @@ -38,8 +38,7 @@ class Kebab extends Model "is_chainstore", "ordering_options", "comments", - "google_reviews", - "pysznepl_reviews", + "pages", ]; protected $casts = [ diff --git a/Backend/composer.json b/Backend/composer.json index 36552ab..fc904c9 100644 --- a/Backend/composer.json +++ b/Backend/composer.json @@ -14,7 +14,9 @@ "laravel/framework": "^10.10", "laravel/sanctum": "^3.3", "laravel/socialite": "^5.11", - "laravel/tinker": "^2.8" + "laravel/tinker": "^2.8", + "symfony/browser-kit": "^7.1", + "symfony/http-client": "^7.1" }, "require-dev": { "blumilksoftware/codestyle": "^4.0", diff --git a/Backend/composer.lock b/Backend/composer.lock index f15c5a1..a9da874 100644 --- a/Backend/composer.lock +++ b/Backend/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8217d6c027e02458c509649659c76418", + "content-hash": "1f8de3e0cb05e1f20db8b22f7b5196a9", "packages": [ { "name": "brick/math", @@ -2255,6 +2255,73 @@ }, "time": "2022-04-15T14:02:14+00:00" }, + { + "name": "masterminds/html5", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Masterminds\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + } + ], + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", + "keywords": [ + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" + ], + "support": { + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" + }, + "time": "2024-03-31T07:05:07+00:00" + }, { "name": "monolog/monolog", "version": "3.7.0", @@ -3882,6 +3949,74 @@ }, "time": "2024-05-28T05:24:40+00:00" }, + { + "name": "symfony/browser-kit", + "version": "v7.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "714becc9ba9b20115ffededc58f6b7172dc394cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/714becc9ba9b20115ffededc58f6b7172dc394cf", + "reference": "714becc9ba9b20115ffededc58f6b7172dc394cf", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/dom-crawler": "^6.4|^7.0" + }, + "require-dev": { + "symfony/css-selector": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/browser-kit/tree/v7.1.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-25T15:11:02+00:00" + }, { "name": "symfony/console", "version": "v6.4.13", @@ -4108,6 +4243,73 @@ ], "time": "2024-04-18T09:32:20+00:00" }, + { + "name": "symfony/dom-crawler", + "version": "v7.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/794ddd5481ba15d8a04132c95e211cd5656e09fb", + "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb", + "shasum": "" + }, + "require": { + "masterminds/html5": "^2.6", + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases DOM navigation for HTML and XML documents", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v7.1.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-25T15:11:02+00:00" + }, { "name": "symfony/error-handler", "version": "v6.4.13", @@ -4403,6 +4605,178 @@ ], "time": "2024-10-01T08:30:56+00:00" }, + { + "name": "symfony/http-client", + "version": "v7.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client/zipball/c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a", + "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "^3.4.1", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.4" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" + }, + "require-dev": { + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4|^2.0", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "homepage": "https://symfony.com", + "keywords": [ + "http" + ], + "support": { + "source": "https://github.com/symfony/http-client/tree/v7.1.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-13T13:40:27+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "20414d96f391677bf80078aa55baece78b82647d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", + "reference": "20414d96f391677bf80078aa55baece78b82647d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, { "name": "symfony/http-foundation", "version": "v6.4.13", @@ -10304,12 +10678,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.1" }, - "platform-dev": {}, + "platform-dev": [], "plugin-api-version": "2.6.0" } diff --git a/Backend/database/migrations/2024_10_16_105416_create_kebabs_table.php b/Backend/database/migrations/2024_10_16_105416_create_kebabs_table.php index 9021e15..b87f30a 100644 --- a/Backend/database/migrations/2024_10_16_105416_create_kebabs_table.php +++ b/Backend/database/migrations/2024_10_16_105416_create_kebabs_table.php @@ -15,19 +15,18 @@ public function up(): void $table->string("name"); $table->string("address"); $table->json("coordinates"); - $table->json("sauces"); - $table->json("meats"); + $table->json("sauces")->nullable(); + $table->json("meats")->nullable(); $table->enum("status", ["exists", "closed", "planned"]); - $table->json("opening_hours"); + $table->json("opening_hours")->nullable(); $table->year("opening_year")->nullable(); $table->year("closing_year")->nullable(); $table->boolean("is_crafted"); $table->boolean("is_premises"); $table->boolean("is_chainstore"); - $table->json("ordering_options"); + $table->json("ordering_options")->nullable(); $table->json("comments")->nullable(); - $table->float("google_reviews", 2, 1)->nullable(); - $table->float("pysznepl_reviews", 2, 1)->nullable(); + $table->json("pages"); $table->timestamps(); }); } diff --git a/Backend/routes/api.php b/Backend/routes/api.php index 9d3396a..89f8d5c 100644 --- a/Backend/routes/api.php +++ b/Backend/routes/api.php @@ -29,14 +29,17 @@ Route::get("/fav/{id}", [UserController::class, "getUserFavorites"]); Route::post("/addfav", [UserController::class, "addToFavorites"]); Route::post("/remfav", [UserController::class, "removeFromFavorites"]); - Route::delete("/deleteUser/{id}", [UserController::class, "deleteUser"]); Route::put("/changeName/{id}", [UserController::class, "changeName"]); Route::put("/changePassword/{id}", [UserController::class, "changePassword"]); Route::put("/changeEmail/{id}", [UserController::class, "changeEmail"]); Route::post("/suggestions", [SuggestionsController::class, "createSuggestion"]); - Route::post("/getAllUsers", [UserController::class, "getAllUsers"]); + Route::get("/suggestions", [SuggestionsController::class, "showAllSuggestions"]); +}); + +Route::middleware(["auth:sanctum", "admin"])->group(function (): void { + Route::delete("/deleteUser/{id}", [UserController::class, "deleteUser"]); + Route::get("/getAllUsers", [UserController::class, "getAllUsers"]); Route::post("/addNewUser", [UserController::class, "addNewUser"]); - Route::get("/getKebabs", [KebabController::class, "getAllKebabs"]); Route::post("/addKebab", [KebabController::class, "addKebab"]); Route::delete("/kebabs/{id}", [KebabController::class, "deleteKebab"]); Route::put("/kebabs/{kebabId}/logo", [KebabController::class, "changeKebabLogo"]); @@ -62,6 +65,5 @@ Route::delete("/kebabs/{kebabId}/comments", [KebabController::class, "removeComment"]); Route::put("/kebabs/{kebabId}/google-reviews", [KebabController::class, "updateGoogleReviews"]); Route::put("/kebabs/{kebabId}/pysznepl-reviews", [KebabController::class, "updatePyszneplReviews"]); - Route::get("/suggestions", [SuggestionsController::class, "showAllSuggestions"]); Route::delete("/suggestions/{id}", [SuggestionsController::class, "destroySuggestion"]); }); From 6b864581a74e148bfca69b861bdaa142a6b8b83d Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 24 Nov 2024 20:35:45 +0100 Subject: [PATCH 10/17] . --- Backend/composer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/Backend/composer.json b/Backend/composer.json index fc904c9..0dd27a0 100644 --- a/Backend/composer.json +++ b/Backend/composer.json @@ -9,7 +9,6 @@ "license": "MIT", "require": { "php": "^8.1", - "darkaonline/l5-swagger": "*", "guzzlehttp/guzzle": "^7.2", "laravel/framework": "^10.10", "laravel/sanctum": "^3.3", From 3f769ff55046cbba21e08b35df5f803dfa7c971c Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Sun, 24 Nov 2024 20:36:17 +0100 Subject: [PATCH 11/17] . --- Backend/composer.lock | 80 ------------------------------------------- 1 file changed, 80 deletions(-) diff --git a/Backend/composer.lock b/Backend/composer.lock index a9da874..d222a54 100644 --- a/Backend/composer.lock +++ b/Backend/composer.lock @@ -135,86 +135,6 @@ ], "time": "2023-12-11T17:09:12+00:00" }, - { - "name": "darkaonline/l5-swagger", - "version": "8.6.3", - "source": { - "type": "git", - "url": "https://github.com/DarkaOnLine/L5-Swagger.git", - "reference": "b37695804b786c04ab4077ceb6c0f2907ccd0153" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/b37695804b786c04ab4077ceb6c0f2907ccd0153", - "reference": "b37695804b786c04ab4077ceb6c0f2907ccd0153", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^1.0 || ^2.0", - "ext-json": "*", - "laravel/framework": "^11.0 || ^10.0 || ^9.0 || >=8.40.0 || ^7.0", - "php": "^7.2 || ^8.0", - "swagger-api/swagger-ui": "^3.0 || >=4.1.3", - "symfony/yaml": "^5.0 || ^6.0 || ^7.0", - "zircote/swagger-php": "^3.2.0 || ^4.0.0" - }, - "require-dev": { - "mockery/mockery": "1.*", - "orchestra/testbench": "^9.0 || ^8.0 || 7.* || ^6.15 || 5.*", - "php-coveralls/php-coveralls": "^2.0", - "phpunit/phpunit": "^11.0 || ^10.0 || ^9.5" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "L5Swagger\\L5SwaggerServiceProvider" - ], - "aliases": { - "L5Swagger": "L5Swagger\\L5SwaggerFacade" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "L5Swagger\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Darius Matulionis", - "email": "darius@matulionis.lt" - } - ], - "description": "OpenApi or Swagger integration to Laravel", - "keywords": [ - "api", - "documentation", - "laravel", - "openapi", - "specification", - "swagger", - "ui" - ], - "support": { - "issues": "https://github.com/DarkaOnLine/L5-Swagger/issues", - "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/8.6.3" - }, - "funding": [ - { - "url": "https://github.com/DarkaOnLine", - "type": "github" - } - ], - "time": "2024-10-28T06:29:43+00:00" - }, { "name": "dflydev/dot-access-data", "version": "v3.0.3", From 8222f9c1e2fae7a15282b032315beba8b8bc3c13 Mon Sep 17 00:00:00 2001 From: PiotrFedak Date: Thu, 19 Dec 2024 22:34:07 +0100 Subject: [PATCH 12/17] Some admin tests --- Backend/tests/Feature/AdminRoutesTest.php | 101 ++++++++++++++++++ .../tests/Feature/SuggestionsRoutesTest.php | 32 ++++++ 2 files changed, 133 insertions(+) create mode 100644 Backend/tests/Feature/AdminRoutesTest.php create mode 100644 Backend/tests/Feature/SuggestionsRoutesTest.php diff --git a/Backend/tests/Feature/AdminRoutesTest.php b/Backend/tests/Feature/AdminRoutesTest.php new file mode 100644 index 0000000..7577168 --- /dev/null +++ b/Backend/tests/Feature/AdminRoutesTest.php @@ -0,0 +1,101 @@ +create([ + "isAdmin" => 1, + "password" => Hash::make("password"), + ]); + + $this->actingAs($admin); + + $response = $this->getJson("/api/getAllUsers"); + + $response->assertStatus(200); + + $responseData = $response->json(); + $this->assertIsArray($responseData); + $this->assertNotEmpty($responseData); + } + + public function testNonAdminCannotAccessAdminRoutes(): void + { + $response = $this->postJson("/api/register", [ + "name" => "NonAdmin", + "email" => "nonadmin@example.com", + "password" => "password", + "password_confirmation" => "password", + ]); + + $response->assertStatus(200); + + $user = User::where("email", "nonadmin@example.com")->first(); + $this->actingAs($user); + + $response = $this->getJson("/api/getAllUsers"); + + $response->assertStatus(403); + } + + public function testGuestCannotAccessAdminRoutes(): void + { + $response = $this->getJson("/api/getAllUsers"); + + $response->assertStatus(401); + } + + public function testAdminCanDeleteUser(): void + { + $admin = User::factory()->create([ + "isAdmin" => 1, + "password" => Hash::make("password"), + ]); + + $userToDelete = User::factory()->create([ + "isAdmin" => 0, + "password" => Hash::make("password"), + ]); + + $this->actingAs($admin); + + $response = $this->deleteJson("/api/deleteUser/{$userToDelete->id}"); + + $response->assertStatus(200); + + $this->assertDatabaseMissing("users", ["id" => $userToDelete->id]); + } + + public function testNonAdminCannotDeleteUser(): void + { + $user = User::factory()->create([ + "isAdmin" => 0, + "password" => Hash::make("password"), + ]); + + $userToDelete = User::factory()->create([ + "isAdmin" => 0, + "password" => Hash::make("password"), + ]); + + $this->actingAs($user); + + $response = $this->deleteJson("/api/deleteUser/{$userToDelete->id}"); + + $response->assertStatus(403); + + $this->assertDatabaseHas("users", ["id" => $userToDelete->id]); + } +} diff --git a/Backend/tests/Feature/SuggestionsRoutesTest.php b/Backend/tests/Feature/SuggestionsRoutesTest.php new file mode 100644 index 0000000..588f6ac --- /dev/null +++ b/Backend/tests/Feature/SuggestionsRoutesTest.php @@ -0,0 +1,32 @@ +create([ + "isAdmin" => 1, + "password" => Hash::make("password"), + ]); + + $this->actingAs($admin); + + $response = $this->getJson("/api/suggestions"); + + $response->assertStatus(200); + + $responseData = $response->json(); + $this->assertIsArray($responseData); + } +} From 6225ede1533115c75ad40e5a9bb6e09ca870d14a Mon Sep 17 00:00:00 2001 From: PiotrFedak Date: Fri, 10 Jan 2025 21:46:51 +0100 Subject: [PATCH 13/17] Some of the StresTests --- Backend/composer.json | 1 + Backend/composer.lock | 1373 +++++++++++++++++-------- Backend/tests/Feature/StresTest.php | 35 + Backend/tests/Pest.php | 48 + Backend/tests/Unit/KebabModelTest.php | 33 + 5 files changed, 1034 insertions(+), 456 deletions(-) create mode 100644 Backend/tests/Feature/StresTest.php create mode 100644 Backend/tests/Pest.php create mode 100644 Backend/tests/Unit/KebabModelTest.php diff --git a/Backend/composer.json b/Backend/composer.json index 0dd27a0..37e4a6f 100644 --- a/Backend/composer.json +++ b/Backend/composer.json @@ -24,6 +24,7 @@ "laravel/sail": "^1.18", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^7.0", + "pestphp/pest": "^2.36", "phpunit/phpunit": "^10.1", "spatie/laravel-ignition": "^2.0" }, diff --git a/Backend/composer.lock b/Backend/composer.lock index d222a54..f345629 100644 --- a/Backend/composer.lock +++ b/Backend/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1f8de3e0cb05e1f20db8b22f7b5196a9", + "content-hash": "03fa2bca851f63f8b3a323f2fa67c7cf", "packages": [ { "name": "brick/math", @@ -210,82 +210,6 @@ }, "time": "2024-07-08T12:26:09+00:00" }, - { - "name": "doctrine/annotations", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.10.28", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6.4 || ^7", - "vimeo/psalm": "^4.30 || ^5.14" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.2" - }, - "time": "2024-09-05T10:17:24+00:00" - }, { "name": "doctrine/inflector", "version": "2.0.10", @@ -2600,16 +2524,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.3.1", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b" + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b", - "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { @@ -2652,38 +2576,38 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "time": "2024-10-08T18:51:32+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.16.0", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "dcf1ec3dfa36137b7ce41d43866644a7ab8fc257" + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dcf1ec3dfa36137b7ce41d43866644a7ab8fc257", - "reference": "dcf1ec3dfa36137b7ce41d43866644a7ab8fc257", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301", + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.1", - "symfony/console": "^6.4.12" + "symfony/console": "^6.4.15" }, "require-dev": { - "illuminate/console": "^10.48.22", - "illuminate/support": "^10.48.22", - "laravel/pint": "^1.18.1", - "pestphp/pest": "^2", + "illuminate/console": "^10.48.24", + "illuminate/support": "^10.48.24", + "laravel/pint": "^1.18.2", + "pestphp/pest": "^2.36.0", "pestphp/pest-plugin-mock": "2.0.0", - "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan": "^1.12.11", "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^6.4.11", + "symfony/var-dumper": "^6.4.15", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -2723,7 +2647,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.16.0" + "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0" }, "funding": [ { @@ -2739,7 +2663,7 @@ "type": "github" } ], - "time": "2024-10-15T15:27:12+00:00" + "time": "2024-11-21T10:36:35+00:00" }, { "name": "paragonie/constant_time_encoding", @@ -3043,55 +2967,6 @@ ], "time": "2024-09-16T03:06:04+00:00" }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, { "name": "psr/clock", "version": "1.0.0", @@ -3808,67 +3683,6 @@ ], "time": "2024-04-27T21:32:50+00:00" }, - { - "name": "swagger-api/swagger-ui", - "version": "v5.17.14", - "source": { - "type": "git", - "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/74ed0adebfc9c8dd0de2bf8e81495b022a66c083", - "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083", - "shasum": "" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Anna Bodnia", - "email": "anna.bodnia@gmail.com" - }, - { - "name": "Buu Nguyen", - "email": "buunguyen@gmail.com" - }, - { - "name": "Josh Ponelat", - "email": "jponelat@gmail.com" - }, - { - "name": "Kyle Shockey", - "email": "kyleshockey1@gmail.com" - }, - { - "name": "Robert Barnwell", - "email": "robert@robertismy.name" - }, - { - "name": "Sahar Jafari", - "email": "shr.jafari@gmail.com" - } - ], - "description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.", - "homepage": "http://swagger.io", - "keywords": [ - "api", - "documentation", - "openapi", - "specification", - "swagger", - "ui" - ], - "support": { - "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v5.17.14" - }, - "time": "2024-05-28T05:24:40+00:00" - }, { "name": "symfony/browser-kit", "version": "v7.1.6", @@ -3939,16 +3753,16 @@ }, { "name": "symfony/console", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79" + "reference": "799445db3f15768ecc382ac5699e6da0520a0a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f793dd5a7d9ae9923e35d0503d08ba734cec1d79", - "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79", + "url": "https://api.github.com/repos/symfony/console/zipball/799445db3f15768ecc382ac5699e6da0520a0a04", + "reference": "799445db3f15768ecc382ac5699e6da0520a0a04", "shasum": "" }, "require": { @@ -4013,7 +3827,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.13" + "source": "https://github.com/symfony/console/tree/v6.4.17" }, "funding": [ { @@ -4029,7 +3843,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T08:40:40+00:00" + "time": "2024-12-07T12:07:30+00:00" }, { "name": "symfony/css-selector", @@ -4098,16 +3912,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { @@ -4115,12 +3929,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4145,7 +3959,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { @@ -4161,7 +3975,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/dom-crawler", @@ -4387,16 +4201,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -4405,12 +4219,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4443,7 +4257,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -4459,20 +4273,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/finder", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958" + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958", - "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958", + "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "shasum": "" }, "require": { @@ -4507,7 +4321,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.13" + "source": "https://github.com/symfony/finder/tree/v6.4.17" }, "funding": [ { @@ -4523,7 +4337,7 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:30:56+00:00" + "time": "2024-12-29T13:51:37+00:00" }, { "name": "symfony/http-client", @@ -4621,16 +4435,16 @@ }, { "name": "symfony/http-client-contracts", - "version": "v3.5.0", + "version": "v3.5.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "20414d96f391677bf80078aa55baece78b82647d" + "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", - "reference": "20414d96f391677bf80078aa55baece78b82647d", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645", + "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645", "shasum": "" }, "require": { @@ -4638,12 +4452,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4679,7 +4493,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2" }, "funding": [ { @@ -4695,7 +4509,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-12-07T08:49:48+00:00" }, { "name": "symfony/http-foundation", @@ -5079,8 +4893,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5155,8 +4969,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5316,8 +5130,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5400,8 +5214,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5474,8 +5288,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5691,16 +5505,16 @@ }, { "name": "symfony/process", - "version": "v6.4.13", + "version": "v6.4.15", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f" + "reference": "3cb242f059c14ae08591c5c4087d1fe443564392" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1f9f59b46880201629df3bd950fc5ae8c55b960f", - "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f", + "url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392", + "reference": "3cb242f059c14ae08591c5c4087d1fe443564392", "shasum": "" }, "require": { @@ -5732,7 +5546,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.13" + "source": "https://github.com/symfony/process/tree/v6.4.15" }, "funding": [ { @@ -5748,7 +5562,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-06T14:19:14+00:00" }, { "name": "symfony/routing", @@ -5835,16 +5649,16 @@ }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { @@ -5857,12 +5671,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -5898,7 +5712,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { @@ -5914,20 +5728,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/string", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626" + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/61b72d66bf96c360a727ae6232df5ac83c71f626", - "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626", + "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", + "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", "shasum": "" }, "require": { @@ -5985,7 +5799,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.6" + "source": "https://github.com/symfony/string/tree/v7.2.0" }, "funding": [ { @@ -6001,7 +5815,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-11-13T13:31:26+00:00" }, { "name": "symfony/translation", @@ -6100,16 +5914,16 @@ }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", + "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", "shasum": "" }, "require": { @@ -6117,12 +5931,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -6158,7 +5972,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" }, "funding": [ { @@ -6174,7 +5988,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/uid", @@ -6335,77 +6149,6 @@ ], "time": "2024-09-25T14:18:03+00:00" }, - { - "name": "symfony/yaml", - "version": "v7.1.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-25T14:20:29+00:00" - }, { "name": "tijsverkoyen/css-to-inline-styles", "version": "v2.2.7", @@ -6674,121 +6417,110 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" - }, + } + ], + "packages-dev": [ { - "name": "zircote/swagger-php", - "version": "4.11.1", + "name": "blumilksoftware/codestyle", + "version": "v4.0.0", "source": { "type": "git", - "url": "https://github.com/zircote/swagger-php.git", - "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1" + "url": "https://github.com/blumilksoftware/codestyle.git", + "reference": "7aecbafb443abdb2f9e0acc1e851236a4c7d00b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7df10e8ec47db07c031db317a25bef962b4e5de1", - "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1", + "url": "https://api.github.com/repos/blumilksoftware/codestyle/zipball/7aecbafb443abdb2f9e0acc1e851236a4c7d00b1", + "reference": "7aecbafb443abdb2f9e0acc1e851236a4c7d00b1", "shasum": "" }, "require": { - "ext-json": "*", - "php": ">=7.2", - "psr/log": "^1.1 || ^2.0 || ^3.0", - "symfony/deprecation-contracts": "^2 || ^3", - "symfony/finder": ">=2.2", - "symfony/yaml": ">=3.3" - }, - "require-dev": { - "composer/package-versions-deprecated": "^1.11", - "doctrine/annotations": "^1.7 || ^2.0", - "friendsofphp/php-cs-fixer": "^2.17 || 3.62.0", - "phpstan/phpstan": "^1.6", - "phpunit/phpunit": ">=8", - "vimeo/psalm": "^4.23" + "friendsofphp/php-cs-fixer": "^3.59", + "kubawerlos/php-cs-fixer-custom-fixers": "^3.21", + "php": "^8.2" }, - "suggest": { - "doctrine/annotations": "^1.7 || ^2.0" + "require-dev": { + "jetbrains/phpstorm-attributes": "^1.1", + "phpunit/phpunit": "^10.0|^11.2", + "symfony/console": "^6.0|^7.0" }, "bin": [ - "bin/openapi" + "bin/codestyle" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, "autoload": { "psr-4": { - "OpenApi\\": "src" + "Blumilk\\Codestyle\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Robert Allen", - "email": "zircote@gmail.com" - }, - { - "name": "Bob Fanger", - "email": "bfanger@gmail.com", - "homepage": "https://bfanger.nl" - }, - { - "name": "Martin Rademacher", - "email": "mano@radebatz.net", - "homepage": "https://radebatz.net" + "name": "Krzysztof Rewak", + "email": "krzysztof.rewak@blumilk.pl" } ], - "description": "swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations", - "homepage": "https://github.com/zircote/swagger-php/", - "keywords": [ - "api", - "json", - "rest", - "service discovery" - ], + "description": "Blumilk codestyle configurator", "support": { - "issues": "https://github.com/zircote/swagger-php/issues", - "source": "https://github.com/zircote/swagger-php/tree/4.11.1" + "issues": "https://github.com/blumilksoftware/codestyle/issues", + "source": "https://github.com/blumilksoftware/codestyle/tree/v4.0.0" }, - "time": "2024-10-15T19:20:02+00:00" - } - ], - "packages-dev": [ + "time": "2024-10-08T07:54:50+00:00" + }, { - "name": "blumilksoftware/codestyle", - "version": "v4.0.0", + "name": "brianium/paratest", + "version": "v7.4.8", "source": { "type": "git", - "url": "https://github.com/blumilksoftware/codestyle.git", - "reference": "7aecbafb443abdb2f9e0acc1e851236a4c7d00b1" + "url": "https://github.com/paratestphp/paratest.git", + "reference": "cf16fcbb9b8107a7df6b97e497fc91e819774d8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/blumilksoftware/codestyle/zipball/7aecbafb443abdb2f9e0acc1e851236a4c7d00b1", - "reference": "7aecbafb443abdb2f9e0acc1e851236a4c7d00b1", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/cf16fcbb9b8107a7df6b97e497fc91e819774d8b", + "reference": "cf16fcbb9b8107a7df6b97e497fc91e819774d8b", "shasum": "" }, "require": { - "friendsofphp/php-cs-fixer": "^3.59", - "kubawerlos/php-cs-fixer-custom-fixers": "^3.21", - "php": "^8.2" + "ext-dom": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-simplexml": "*", + "fidry/cpu-core-counter": "^1.2.0", + "jean85/pretty-package-versions": "^2.0.6", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "phpunit/php-code-coverage": "^10.1.16", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-timer": "^6.0.0", + "phpunit/phpunit": "^10.5.36", + "sebastian/environment": "^6.1.0", + "symfony/console": "^6.4.7 || ^7.1.5", + "symfony/process": "^6.4.7 || ^7.1.5" }, "require-dev": { - "jetbrains/phpstorm-attributes": "^1.1", - "phpunit/phpunit": "^10.0|^11.2", - "symfony/console": "^6.0|^7.0" + "doctrine/coding-standard": "^12.0.0", + "ext-pcov": "*", + "ext-posix": "*", + "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.1", + "squizlabs/php_codesniffer": "^3.10.3", + "symfony/filesystem": "^6.4.3 || ^7.1.5" }, "bin": [ - "bin/codestyle" + "bin/paratest", + "bin/paratest_for_phpstorm" ], "type": "library", "autoload": { "psr-4": { - "Blumilk\\Codestyle\\": "src/" + "ParaTest\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -6797,16 +6529,39 @@ ], "authors": [ { - "name": "Krzysztof Rewak", - "email": "krzysztof.rewak@blumilk.pl" + "name": "Brian Scaturro", + "email": "scaturrob@gmail.com", + "role": "Developer" + }, + { + "name": "Filippo Tessarotto", + "email": "zoeslam@gmail.com", + "role": "Developer" } ], - "description": "Blumilk codestyle configurator", + "description": "Parallel testing for PHP", + "homepage": "https://github.com/paratestphp/paratest", + "keywords": [ + "concurrent", + "parallel", + "phpunit", + "testing" + ], "support": { - "issues": "https://github.com/blumilksoftware/codestyle/issues", - "source": "https://github.com/blumilksoftware/codestyle/tree/v4.0.0" + "issues": "https://github.com/paratestphp/paratest/issues", + "source": "https://github.com/paratestphp/paratest/tree/v7.4.8" }, - "time": "2024-10-08T07:54:50+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/Slamdunk", + "type": "github" + }, + { + "url": "https://paypal.me/filippotessarotto", + "type": "paypal" + } + ], + "time": "2024-10-15T12:45:19+00:00" }, { "name": "clue/ndjson-react", @@ -7098,6 +6853,51 @@ ], "time": "2024-05-06T16:37:16+00:00" }, + { + "name": "doctrine/deprecations", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" + }, + "time": "2024-12-07T21:18:45+00:00" + }, { "name": "evenement/evenement", "version": "v3.0.2", @@ -7494,6 +7294,65 @@ }, "time": "2020-07-09T08:09:16+00:00" }, + { + "name": "jean85/pretty-package-versions", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Jean85/pretty-package-versions.git", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "jean85/composer-provided-replaced-stub-package": "^1.0", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "vimeo/psalm": "^4.3 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Jean85\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alessandro Lai", + "email": "alessandro.lai85@gmail.com" + } + ], + "description": "A library to get pretty versions strings of installed dependencies", + "keywords": [ + "composer", + "package", + "release", + "versions" + ], + "support": { + "issues": "https://github.com/Jean85/pretty-package-versions/issues", + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0" + }, + "time": "2024-11-18T16:19:46+00:00" + }, { "name": "kubawerlos/php-cs-fixer-custom-fixers", "version": "v3.22.0", @@ -7754,16 +7613,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "shasum": "" }, "require": { @@ -7802,7 +7661,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" }, "funding": [ { @@ -7810,7 +7669,7 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2024-11-08T17:47:46+00:00" }, { "name": "nunomaduro/collision", @@ -7900,13 +7759,263 @@ { "url": "https://github.com/nunomaduro", "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2024-10-15T15:12:40+00:00" + }, + { + "name": "pestphp/pest", + "version": "v2.36.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest.git", + "reference": "f8c88bd14dc1772bfaf02169afb601ecdf2724cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest/zipball/f8c88bd14dc1772bfaf02169afb601ecdf2724cd", + "reference": "f8c88bd14dc1772bfaf02169afb601ecdf2724cd", + "shasum": "" + }, + "require": { + "brianium/paratest": "^7.3.1", + "nunomaduro/collision": "^7.11.0|^8.4.0", + "nunomaduro/termwind": "^1.16.0|^2.1.0", + "pestphp/pest-plugin": "^2.1.1", + "pestphp/pest-plugin-arch": "^2.7.0", + "php": "^8.1.0", + "phpunit/phpunit": "^10.5.36" + }, + "conflict": { + "filp/whoops": "<2.16.0", + "phpunit/phpunit": ">10.5.36", + "sebastian/exporter": "<5.1.0", + "webmozart/assert": "<1.11.0" + }, + "require-dev": { + "pestphp/pest-dev-tools": "^2.17.0", + "pestphp/pest-plugin-type-coverage": "^2.8.7", + "symfony/process": "^6.4.0|^7.1.5" + }, + "bin": [ + "bin/pest" + ], + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Pest\\Plugins\\Bail", + "Pest\\Plugins\\Cache", + "Pest\\Plugins\\Coverage", + "Pest\\Plugins\\Init", + "Pest\\Plugins\\Environment", + "Pest\\Plugins\\Help", + "Pest\\Plugins\\Memory", + "Pest\\Plugins\\Only", + "Pest\\Plugins\\Printer", + "Pest\\Plugins\\ProcessIsolation", + "Pest\\Plugins\\Profile", + "Pest\\Plugins\\Retry", + "Pest\\Plugins\\Snapshot", + "Pest\\Plugins\\Verbose", + "Pest\\Plugins\\Version", + "Pest\\Plugins\\Parallel" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "files": [ + "src/Functions.php", + "src/Pest.php" + ], + "psr-4": { + "Pest\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "The elegant PHP Testing Framework.", + "keywords": [ + "framework", + "pest", + "php", + "test", + "testing", + "unit" + ], + "support": { + "issues": "https://github.com/pestphp/pest/issues", + "source": "https://github.com/pestphp/pest/tree/v2.36.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2024-10-15T15:30:56+00:00" + }, + { + "name": "pestphp/pest-plugin", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin.git", + "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e05d2859e08c2567ee38ce8b005d044e72648c0b", + "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0.0", + "composer-runtime-api": "^2.2.2", + "php": "^8.1" + }, + "conflict": { + "pestphp/pest": "<2.2.3" + }, + "require-dev": { + "composer/composer": "^2.5.8", + "pestphp/pest": "^2.16.0", + "pestphp/pest-dev-tools": "^2.16.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Pest\\Plugin\\Manager" + }, + "autoload": { + "psr-4": { + "Pest\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest plugin manager", + "keywords": [ + "framework", + "manager", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin/tree/v2.1.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2023-08-22T08:40:06+00:00" + }, + { + "name": "pestphp/pest-plugin-arch", + "version": "v2.7.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-arch.git", + "reference": "d23b2d7498475354522c3818c42ef355dca3fcda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/d23b2d7498475354522c3818c42ef355dca3fcda", + "reference": "d23b2d7498475354522c3818c42ef355dca3fcda", + "shasum": "" + }, + "require": { + "nunomaduro/collision": "^7.10.0|^8.1.0", + "pestphp/pest-plugin": "^2.1.1", + "php": "^8.1", + "ta-tikoma/phpunit-architecture-test": "^0.8.4" + }, + "require-dev": { + "pestphp/pest": "^2.33.0", + "pestphp/pest-dev-tools": "^2.16.0" + }, + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Pest\\Arch\\Plugin" + ] + } + }, + "autoload": { + "files": [ + "src/Autoload.php" + ], + "psr-4": { + "Pest\\Arch\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Arch plugin for Pest PHP.", + "keywords": [ + "arch", + "architecture", + "framework", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.7.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" } ], - "time": "2024-10-15T15:12:40+00:00" + "time": "2024-01-26T09:46:42+00:00" }, { "name": "phar-io/manifest", @@ -8026,6 +8135,228 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.6.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.1", + "ext-filter": "*", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1" + }, + "time": "2024-12-07T09:39:29+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.3 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.18|^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" + }, + "time": "2024-11-09T15:12:26+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299", + "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^5.3.0", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0" + }, + "time": "2024-10-13T11:29:49+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "10.1.16", @@ -8349,16 +8680,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.37", + "version": "10.5.36", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c7cffa0efa2b70c22366523e6d804c9419eb2400" + "reference": "aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c7cffa0efa2b70c22366523e6d804c9419eb2400", - "reference": "c7cffa0efa2b70c22366523e6d804c9419eb2400", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870", + "reference": "aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870", "shasum": "" }, "require": { @@ -8379,7 +8710,7 @@ "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.3", + "sebastian/comparator": "^5.0.2", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.2", @@ -8430,7 +8761,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.37" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.36" }, "funding": [ { @@ -8446,7 +8777,7 @@ "type": "tidelift" } ], - "time": "2024-10-19T13:03:41+00:00" + "time": "2024-10-08T15:36:51+00:00" }, { "name": "react/cache", @@ -10545,6 +10876,136 @@ ], "time": "2024-09-25T14:20:29+00:00" }, + { + "name": "symfony/yaml", + "version": "v7.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.1.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:20:29+00:00" + }, + { + "name": "ta-tikoma/phpunit-architecture-test", + "version": "0.8.4", + "source": { + "type": "git", + "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", + "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/89f0dea1cb0f0d5744d3ec1764a286af5e006636", + "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18.0 || ^5.0.0", + "php": "^8.1.0", + "phpdocumentor/reflection-docblock": "^5.3.0", + "phpunit/phpunit": "^10.5.5 || ^11.0.0", + "symfony/finder": "^6.4.0 || ^7.0.0" + }, + "require-dev": { + "laravel/pint": "^1.13.7", + "phpstan/phpstan": "^1.10.52" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPUnit\\Architecture\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ni Shi", + "email": "futik0ma011@gmail.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Methods for testing application architecture", + "keywords": [ + "architecture", + "phpunit", + "stucture", + "test", + "testing" + ], + "support": { + "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", + "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.4" + }, + "time": "2024-01-05T14:10:56+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.3", diff --git a/Backend/tests/Feature/StresTest.php b/Backend/tests/Feature/StresTest.php new file mode 100644 index 0000000..d79a110 --- /dev/null +++ b/Backend/tests/Feature/StresTest.php @@ -0,0 +1,35 @@ +getJson('/api/kebabs'); + + expect(in_array($response->status(), [200, 429])) + ->toBeTrue("Unexpected status: {$response->status()}"); + } +}); + test('API rate limits requests correctly', function () { + $iterations = 100; + $successfulResponses = 0; + $rateLimitResponses = 0; + + for ($i = 0; $i < $iterations; $i++) { + $response = $this->getJson('/api/kebabs'); + + if ($response->status() === 200) { + $successfulResponses++; + } elseif ($response->status() === 429) { + $rateLimitResponses++; + } + } + + expect($successfulResponses)->toBeGreaterThan(0); + expect($rateLimitResponses)->toBeGreaterThan(0); +}); diff --git a/Backend/tests/Pest.php b/Backend/tests/Pest.php new file mode 100644 index 0000000..50ab1e4 --- /dev/null +++ b/Backend/tests/Pest.php @@ -0,0 +1,48 @@ +in('Feature'); + +/* +|-------------------------------------------------------------------------- +| Expectations +|-------------------------------------------------------------------------- +| +| When you're writing tests, you often need to check that values meet certain conditions. The +| "expect()" function gives you access to a set of "expectations" methods that you can use +| to assert different things. Of course, you may extend the Expectation API at any time. +| +*/ + +expect()->extend('toBeOne', function () { + return $this->toBe(1); +}); + +/* +|-------------------------------------------------------------------------- +| Functions +|-------------------------------------------------------------------------- +| +| While Pest is very powerful out-of-the-box, you may have some testing code specific to your +| project that you don't want to repeat in every file. Here you can also expose helpers as +| global functions to help you to reduce the number of lines of code in your test files. +| +*/ + +function something() +{ + // .. +} diff --git a/Backend/tests/Unit/KebabModelTest.php b/Backend/tests/Unit/KebabModelTest.php new file mode 100644 index 0000000..e8ca0b9 --- /dev/null +++ b/Backend/tests/Unit/KebabModelTest.php @@ -0,0 +1,33 @@ + 'Delicious Kebab', + 'address' => 'Main Street 42', + 'status' => 'open', + ]); + + expect($kebab->name)->toBe('Delicious Kebab'); + expect($kebab->address)->toBe('Main Street 42'); + expect($kebab->status)->toBe('open'); +}); + +test('casts work correctly', function () { + $kebab = new Kebab([ + 'coordinates' => ['lat' => 50.06, 'lng' => 19.94], + 'sauces' => ['mayo', 'ketchup'], + 'meats' => ['chicken', 'beef'], + ]); + + expect($kebab->coordinates)->toBe(['lat' => 50.06, 'lng' => 19.94]); + expect($kebab->sauces)->toBe(['mayo', 'ketchup']); + expect($kebab->meats)->toBe(['chicken', 'beef']); +}); + +test('guarded fields cannot be mass assigned', function () { + $kebab = new Kebab(['id' => 1]); + + expect($kebab->id)->not->toBe(1); +}); From 989a1517b051a3134cb2939ca55943b566ccd91c Mon Sep 17 00:00:00 2001 From: PiotrFedak Date: Sat, 11 Jan 2025 02:33:32 +0100 Subject: [PATCH 14/17] architecture tests --- Backend/phpunit.xml | 3 +++ Backend/tests/Arch/ModelArchTest.php | 11 +++++++++++ Backend/tests/Arch/RequestsArchTest.php | 17 +++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 Backend/tests/Arch/ModelArchTest.php create mode 100644 Backend/tests/Arch/RequestsArchTest.php diff --git a/Backend/phpunit.xml b/Backend/phpunit.xml index e82d960..a33e25d 100644 --- a/Backend/phpunit.xml +++ b/Backend/phpunit.xml @@ -11,6 +11,9 @@ tests/Feature + + tests/Arch + diff --git a/Backend/tests/Arch/ModelArchTest.php b/Backend/tests/Arch/ModelArchTest.php new file mode 100644 index 0000000..3607b5f --- /dev/null +++ b/Backend/tests/Arch/ModelArchTest.php @@ -0,0 +1,11 @@ +expect('App\Models') + ->toBeClasses() + ->toHaveSuffix('') + ->toExtend(\Illuminate\Database\Eloquent\Model::class); + +arch('Kebab model should follow conventions') + ->expect('App\Models\Kebab') + ->toBeClasses(); diff --git a/Backend/tests/Arch/RequestsArchTest.php b/Backend/tests/Arch/RequestsArchTest.php new file mode 100644 index 0000000..cd30911 --- /dev/null +++ b/Backend/tests/Arch/RequestsArchTest.php @@ -0,0 +1,17 @@ +expect('App\Http\Requests') + ->toBeClasses() + ->toHaveSuffix('Request'); + +arch('Kebab requests should be in thier folder') + ->expect('App\Http\Requests\KebabRequests') + ->toBeClasses() + ->toHaveSuffix('Request'); + +arch('UserRequests should have proper architecture') + ->expect('App\Http\Requests\UserRequests') + ->toBeClasses() + ->toHaveSuffix('Request') + ->toExtend(\Illuminate\Foundation\Http\FormRequest::class); \ No newline at end of file From efad7437d5750b30bcd7b31b5f38714834c4bbb5 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Tue, 14 Jan 2025 23:32:31 +0100 Subject: [PATCH 15/17] . --- Backend/.php-cs-fixer.cache | 2 +- Backend/.scribe/.filehashes | 4 + Backend/.scribe/auth.md | 7 + Backend/.scribe/endpoints.cache/00.yaml | 150 + Backend/.scribe/endpoints.cache/01.yaml | 1525 ++++ Backend/.scribe/endpoints.cache/02.yaml | 47 + Backend/.scribe/endpoints.cache/03.yaml | 569 ++ Backend/.scribe/endpoints.cache/04.yaml | 140 + Backend/.scribe/endpoints.cache/05.yaml | 47 + Backend/.scribe/endpoints/00.yaml | 148 + Backend/.scribe/endpoints/01.yaml | 1523 ++++ Backend/.scribe/endpoints/02.yaml | 45 + Backend/.scribe/endpoints/03.yaml | 567 ++ Backend/.scribe/endpoints/04.yaml | 138 + Backend/.scribe/endpoints/05.yaml | 45 + Backend/.scribe/endpoints/custom.0.yaml | 53 + Backend/.scribe/intro.md | 13 + Backend/api/documentation/collection.json | 1733 ++++ .../documentation/css/theme-default.print.css | 393 + .../documentation/css/theme-default.style.css | 1090 +++ Backend/api/documentation/images/navbar.png | Bin 0 -> 96 bytes Backend/api/documentation/index.html | 7384 ++++++++++++++++ .../documentation/js/theme-default-4.39.0.js | 149 + .../api/documentation/js/tryitout-4.39.0.js | 289 + Backend/api/documentation/openapi.yaml | 1379 +++ .../app/Http/Controllers/AuthController.php | 81 + .../app/Http/Controllers/KebabController.php | 289 +- .../Controllers/KebabScraperController.php | 43 + .../Controllers/SuggestionsController.php | 8 +- .../app/Http/Controllers/UserController.php | 45 +- .../KebabRequests/KebabAddressRequest.php | 30 + .../KebabRequests/KebabClosingYearRequest.php | 30 + .../KebabRequests/KebabCommentRequest.php | 32 + .../KebabRequests/KebabCoordinatesRequest.php | 32 + .../KebabIsChainstoreRequest.php | 30 + .../KebabRequests/KebabIsCraftedRequest.php | 30 + .../KebabRequests/KebabIsPremisesRequest.php | 30 + .../KebabRequests/KebabMeatRequest.php | 30 + .../KebabRequests/KebabNameRequest.php | 30 + .../KebabRequests/KebabOpeningHourRequest.php | 31 + .../KebabRequests/KebabOpeningYearRequest.php | 30 + .../KebabOrderingOptionRequest.php | 30 + .../KebabRequests/KebabPageRequest.php | 30 + .../KebabRemoveOpeningHourRequest.php | 30 + .../KebabRemoveOrderingOptionRequest.php | 30 + .../Requests/KebabRequests/KebabRequest.php | 31 +- .../KebabRequests/KebabStatusRequest.php | 30 + .../KebabRequests/SauceKebabRequest.php | 30 + .../UserRequests/ChangeEmailRequest.php | 4 +- .../UserRequests/ChangeNameRequest.php | 3 +- .../UserRequests/ChangePasswordRequest.php | 3 +- .../UserRequests/ChangeUserRoleRequest.php | 30 + .../UserRequests/FavoriteKebabRequest.php | 2 +- .../Requests/UserRequests/UserRequest.php | 2 +- Backend/app/Models/Kebab.php | 7 + Backend/app/Models/User.php | 11 + Backend/app/Services/PyszneScraper.php | 45 + Backend/composer.json | 8 +- Backend/composer.lock | 598 +- Backend/config/scribe.php | 265 + Backend/database/seeders/KebabSeeder.php | 569 ++ Backend/public/Logo/AmAm.png | Bin 0 -> 9236 bytes Backend/public/Logo/Bafra.png | Bin 0 -> 106471 bytes Backend/public/Logo/Bejrut.png | Bin 0 -> 11977 bytes Backend/public/Logo/Cyrus.png | Bin 0 -> 167216 bytes Backend/public/Logo/Dino.png | Bin 0 -> 7457 bytes Backend/public/Logo/HadFood.png | Bin 0 -> 4869 bytes Backend/public/Logo/Hallo.png | Bin 0 -> 2565 bytes Backend/public/Logo/Karmnik.png | Bin 0 -> 8468 bytes Backend/public/Logo/King.png | Bin 0 -> 6929 bytes Backend/public/Logo/Lara.png | Bin 0 -> 11208 bytes Backend/public/Logo/Leo.png | Bin 0 -> 11612 bytes Backend/public/Logo/Maxi.png | Bin 0 -> 12887 bytes Backend/public/Logo/Mix.png | Bin 0 -> 15348 bytes Backend/public/Logo/Piri.png | Bin 0 -> 5342 bytes Backend/public/Logo/Rulo.png | Bin 0 -> 9501 bytes "Backend/public/Logo/Stambu\305\202.png" | Bin 0 -> 30778 bytes Backend/public/Logo/Zahir.png | Bin 0 -> 38836 bytes Backend/public/docs/collection.json | 1811 ++++ .../public/docs/css/theme-default.print.css | 393 + .../public/docs/css/theme-default.style.css | 1090 +++ Backend/public/docs/images/navbar.png | Bin 0 -> 96 bytes Backend/public/docs/index.html | 7582 +++++++++++++++++ .../public/docs/js/theme-default-4.39.0.js | 149 + Backend/public/docs/js/tryitout-4.39.0.js | 289 + Backend/public/docs/openapi.yaml | 1416 +++ .../views/vendor/l5-swagger/.gitkeep | 0 .../views/vendor/l5-swagger/index.blade.php | 164 + Backend/routes/api.php | 14 +- Backend/routes/web.php | 2 +- Backend/storage/api-docs/api-docs.json | 274 + 91 files changed, 32855 insertions(+), 328 deletions(-) create mode 100644 Backend/.scribe/.filehashes create mode 100644 Backend/.scribe/auth.md create mode 100644 Backend/.scribe/endpoints.cache/00.yaml create mode 100644 Backend/.scribe/endpoints.cache/01.yaml create mode 100644 Backend/.scribe/endpoints.cache/02.yaml create mode 100644 Backend/.scribe/endpoints.cache/03.yaml create mode 100644 Backend/.scribe/endpoints.cache/04.yaml create mode 100644 Backend/.scribe/endpoints.cache/05.yaml create mode 100644 Backend/.scribe/endpoints/00.yaml create mode 100644 Backend/.scribe/endpoints/01.yaml create mode 100644 Backend/.scribe/endpoints/02.yaml create mode 100644 Backend/.scribe/endpoints/03.yaml create mode 100644 Backend/.scribe/endpoints/04.yaml create mode 100644 Backend/.scribe/endpoints/05.yaml create mode 100644 Backend/.scribe/endpoints/custom.0.yaml create mode 100644 Backend/.scribe/intro.md create mode 100644 Backend/api/documentation/collection.json create mode 100644 Backend/api/documentation/css/theme-default.print.css create mode 100644 Backend/api/documentation/css/theme-default.style.css create mode 100644 Backend/api/documentation/images/navbar.png create mode 100644 Backend/api/documentation/index.html create mode 100644 Backend/api/documentation/js/theme-default-4.39.0.js create mode 100644 Backend/api/documentation/js/tryitout-4.39.0.js create mode 100644 Backend/api/documentation/openapi.yaml create mode 100644 Backend/app/Http/Controllers/KebabScraperController.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabAddressRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabClosingYearRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabCommentRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabCoordinatesRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabIsChainstoreRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabIsCraftedRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabIsPremisesRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabMeatRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabNameRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabOpeningHourRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabOpeningYearRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabOrderingOptionRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabPageRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabRemoveOpeningHourRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabRemoveOrderingOptionRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/KebabStatusRequest.php create mode 100644 Backend/app/Http/Requests/KebabRequests/SauceKebabRequest.php create mode 100644 Backend/app/Http/Requests/UserRequests/ChangeUserRoleRequest.php create mode 100644 Backend/app/Services/PyszneScraper.php create mode 100644 Backend/config/scribe.php create mode 100644 Backend/database/seeders/KebabSeeder.php create mode 100644 Backend/public/Logo/AmAm.png create mode 100644 Backend/public/Logo/Bafra.png create mode 100644 Backend/public/Logo/Bejrut.png create mode 100644 Backend/public/Logo/Cyrus.png create mode 100644 Backend/public/Logo/Dino.png create mode 100644 Backend/public/Logo/HadFood.png create mode 100644 Backend/public/Logo/Hallo.png create mode 100644 Backend/public/Logo/Karmnik.png create mode 100644 Backend/public/Logo/King.png create mode 100644 Backend/public/Logo/Lara.png create mode 100644 Backend/public/Logo/Leo.png create mode 100644 Backend/public/Logo/Maxi.png create mode 100644 Backend/public/Logo/Mix.png create mode 100644 Backend/public/Logo/Piri.png create mode 100644 Backend/public/Logo/Rulo.png create mode 100644 "Backend/public/Logo/Stambu\305\202.png" create mode 100644 Backend/public/Logo/Zahir.png create mode 100644 Backend/public/docs/collection.json create mode 100644 Backend/public/docs/css/theme-default.print.css create mode 100644 Backend/public/docs/css/theme-default.style.css create mode 100644 Backend/public/docs/images/navbar.png create mode 100644 Backend/public/docs/index.html create mode 100644 Backend/public/docs/js/theme-default-4.39.0.js create mode 100644 Backend/public/docs/js/tryitout-4.39.0.js create mode 100644 Backend/public/docs/openapi.yaml create mode 100644 Backend/resources/views/vendor/l5-swagger/.gitkeep create mode 100644 Backend/resources/views/vendor/l5-swagger/index.blade.php create mode 100644 Backend/storage/api-docs/api-docs.json diff --git a/Backend/.php-cs-fixer.cache b/Backend/.php-cs-fixer.cache index 42ef80d..fec2eeb 100644 --- a/Backend/.php-cs-fixer.cache +++ b/Backend/.php-cs-fixer.cache @@ -1 +1 @@ -{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"1e355493c4cc9272fb4c67c2e6ba96c4","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"9278fe2e667deb61f8f0cdd74c77dd3f","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"e9b97e09a1af3d9e0ff688d87e147512","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"584b47b3b8a04d20e28ec711f88871b0","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"e3a2a2065ce3da9eb85a01b1c2511023","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"3437f994faa1a77793ea5bb0975b3183","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"9d3fd252eb640990e6a716c8bed84300","app\\Http\\Kernel.php":"dd78ef286f08e779169ef79df8cbd150","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"3f84f9914315922d5543d1e84337a3bd","bootstrap\\cache\\services.php":"7ac0495437ab7fc2e0df672065ebb826","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"519eb295352fc20c8865e15c00ce9e2d","app\\Http\\Controllers\\KebabController.php":"3fe1290fd2b8fc298e7dbd27087fc411","app\\Http\\Middleware\\CheckAdmin.php":"bfbf273b33fdacb20f8577ad9748a8fc","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"2a232bd8ad4a489e352bbed01285c0a6","app\\Http\\Controllers\\SuggestionsController.php":"85482b9df6a9fd6aa8237b11e5e8f8a9","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","tests\\Feature\\AuthControllerTest.php":"60def14d559fbc5969ca0dd43bba1020","app\\Http\\Controllers\\GoogleScraperController.php":"de8ae9535538ef7664559b2e3cebb12d","app\\Services\\GoogleScraper.php":"f6e5adad52184bce6d8f064868b4f3be"}} \ No newline at end of file +{"php":"8.2.12","version":"3.64.0:v3.64.0#58dd9c931c785a79739310aef5178928305ffa67","indent":" ","lineEnding":"\n","rules":{"no_whitespace_before_comma_in_array":true,"array_indentation":true,"trim_array_spaces":true,"whitespace_after_comma_in_array":true,"array_syntax":{"syntax":"short"},"php_unit_method_casing":true,"function_to_constant":true,"explicit_indirect_variable":true,"single_class_element_per_statement":{"elements":["const","property"]},"new_with_parentheses":true,"class_definition":{"single_line":true},"standardize_increment":true,"self_accessor":true,"magic_constant_casing":true,"no_useless_else":true,"ordered_class_elements":{"order":["use_trait","case","constant_public","constant_protected","constant_private","property_public","property_protected","property_private","construct","destruct","magic","phpunit","property_public_static","method_public_static","method_public","property_protected_static","method_protected_static","method_protected","property_private_static","method_private_static","method_private"]},"no_trailing_whitespace_in_comment":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_trim":true,"no_empty_phpdoc":true,"phpdoc_no_empty_return":true,"phpdoc_indent":true,"phpdoc_types":true,"phpdoc_return_self_reference":true,"phpdoc_var_without_name":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true,"allow_mixed":true},"php_unit_test_annotation":true,"php_unit_set_up_tear_down_visibility":true,"blank_line_after_opening_tag":true,"method_chaining_indentation":true,"concat_space":{"spacing":"one"},"binary_operator_spaces":{"operators":{"=>":"single_space","=":"single_space","&":"no_space"}},"single_trait_insert_per_statement":true,"no_blank_lines_after_class_opening":true,"no_singleline_whitespace_before_semicolons":true,"phpdoc_single_line_var_spacing":true,"no_leading_namespace_whitespace":true,"no_spaces_around_offset":true,"no_whitespace_in_blank_line":true,"return_type_declaration":true,"space_after_semicolon":true,"ternary_operator_spaces":true,"method_argument_space":true,"strict_comparison":true,"is_null":true,"strict_param":true,"no_unused_imports":true,"no_empty_statement":true,"no_unneeded_control_parentheses":true,"no_unneeded_braces":true,"declare_strict_types":true,"cast_spaces":{"space":"none"},"Blumilk\/double_quote":true,"void_return":true,"use_arrow_functions":true,"fully_qualified_strict_types":{"import_symbols":true},"ordered_imports":{"sort_algorithm":"alpha","imports_order":["class","function","const"]},"phpdoc_line_span":{"const":"single","property":"single"},"general_phpdoc_annotation_remove":{"annotations":["package","author"]},"no_extra_blank_lines":{"tokens":["attribute","break","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","return","square_brace_block","switch","throw","use"]},"trailing_comma_in_multiline":{"elements":["arrays","parameters","arguments","match"]},"nullable_type_declaration_for_default_null_value":true,"PhpCsFixerCustomFixers\/constructor_empty_braces":true,"PhpCsFixerCustomFixers\/multiline_promoted_properties":true,"PhpCsFixerCustomFixers\/no_useless_comment":true,"PhpCsFixerCustomFixers\/phpdoc_array_style":true,"PhpCsFixerCustomFixers\/promoted_constructor_property":true,"PhpCsFixerCustomFixers\/single_space_after_statement":true,"PhpCsFixerCustomFixers\/single_space_before_statement":true,"PhpCsFixerCustomFixers\/stringable_interface":true,"visibility_required":true,"no_leading_import_slash":true,"lowercase_cast":true,"lowercase_static_reference":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"short_scalar_cast":true,"clean_namespace":true,"unary_operator_spaces":true,"class_attributes_separation":{"elements":{"property":"none","const":"none","method":"one","trait_import":"none","case":"none"}},"PhpCsFixerCustomFixers\/no_useless_parenthesis":true,"single_blank_line_at_eof":true,"Blumilk\/no_laravel_migrations_generated_comments":true,"PhpCsFixerCustomFixers\/commented_out_function":{"functions":["print_r","var_dump","var_export","dd"]},"PhpCsFixerCustomFixers\/no_commented_out_code":true,"PhpCsFixerCustomFixers\/no_php_storm_generated_comment":true,"PhpCsFixerCustomFixers\/phpdoc_no_incorrect_var_annotation":true,"PhpCsFixerCustomFixers\/phpdoc_no_superfluous_param":true,"yoda_style":{"equal":false,"identical":false,"less_and_greater":false},"object_operator_without_whitespace":true,"function_declaration":{"closure_function_spacing":"none","closure_fn_spacing":"none"},"single_line_after_imports":true,"single_line_comment_spacing":true,"blank_line_after_namespace":true,"simple_to_complex_string_variable":true,"no_empty_comment":true,"no_trailing_comma_in_singleline":true,"magic_method_casing":true,"native_function_casing":true,"lambda_not_used_import":true,"no_homoglyph_names":true,"assign_null_coalescing_to_coalesce_equal":true,"no_useless_nullsafe_operator":true,"no_useless_return":true,"simplified_null_return":true,"multiline_whitespace_before_semicolons":true,"line_ending":true,"statement_indentation":true,"blank_line_between_import_groups":true,"blank_line_before_statement":{"statements":["break","continue","declare","return","throw","try","if","do","for","foreach","while"]},"no_multiple_statements_per_line":true,"blank_lines_before_namespace":true,"psr_autoloading":true,"type_declaration_spaces":true,"control_structure_braces":true,"control_structure_continuation_position":true,"braces_position":{"anonymous_functions_opening_brace":"same_line"},"lowercase_keywords":true,"no_multiline_whitespace_around_double_arrow":true,"Blumilk\/compact_empty_array":true,"Blumilk\/class_keyword_fixer":true,"Blumilk\/named_arguments":true,"no_blank_lines_after_phpdoc":true,"constant_case":true,"php_unit_attributes":true,"spaces_inside_parentheses":true},"hashes":{"storage\\framework\\views\\9bf0bf855bc13e16750e2a5e36744ca4.php":"e5844427b776eb699d5ec89f44d3e2ce","database\\migrations\\2024_10_16_105416_create_kebabs_table.php":"1e355493c4cc9272fb4c67c2e6ba96c4","database\\migrations\\2024_10_16_110140_create_suggestions_table.php":"dcd28a096eb6ad324c7a7d79673a4e3f","database\\seeders\\DatabaseSeeder.php":"b82d88332bc59876a3e674a5fc2a8d8b","public\\index.php":"dd9420d1946e6f5ac53594066ed21bcd","resources\\views\\mail\\contactUsMail.blade.php":"2e5a0f145b80848cb5b1c643b0b6e2f2","resources\\views\\welcome.blade.php":"7c20c7ebc3218c403dea71117f69dfed","routes\\api.php":"91da4672c7a81bfecd52f75776c26414","routes\\channels.php":"69224ae3142ba715c9a88ab51ebb0f2a","routes\\console.php":"e8ec20fcf9db2c8ed133bd71f541959b","routes\\web.php":"622624c7aa262186fec4dfff56aa46ed","tests\\CreatesApplication.php":"547b076015f8c5a1bb558b7b1d3d8548","tests\\Feature\\ExampleTest.php":"cbc86ef604b670eff5077c52ba43cff3","tests\\TestCase.php":"b9ad5821823c481100f73431178caa71","tests\\Unit\\ExampleTest.php":"1892966e6e20f3cd936dcfa4ed7275eb","codestyle.php":"78106c01bb6c67815aad1f58ec44cd0d","config\\app.php":"9fc6583a7668465151943600476ea442","config\\auth.php":"a488b0d57431b546548feb34edccd48e","config\\broadcasting.php":"c72d877f6c2bc0726fb9a1e717fd62c8","config\\cache.php":"ef8901d79de3b0790253c5a96d0e4ca6","config\\cors.php":"584b47b3b8a04d20e28ec711f88871b0","app\\Http\\Middleware\\TrimStrings.php":"6fc714347e06b50092ab8ed32dde44a3","app\\Http\\Middleware\\TrustHosts.php":"296d5025e64924ad380db403db212e03","app\\Http\\Middleware\\TrustProxies.php":"6ef300cb0fa4760b0b78eeed4b562487","app\\Http\\Middleware\\ValidateSignature.php":"a3b8b6a39e865b98596215de1d2b1b49","app\\Http\\Middleware\\VerifyCsrfToken.php":"ec90d977fba72bf47b36209750f6c309","app\\Http\\Requests\\LoginRequest.php":"2e4b5eb1f7e96522fc6606563bc153c9","app\\Http\\Requests\\SignupRequest.php":"64d40c6fb14d7f0f4416f4fc65077af2","app\\Http\\Requests\\UserRequest.php":"9924fb264e27913626e84ac5caab2c2f","app\\Models\\User.php":"804b578c498bc1a16659ba94c7e4ae4b","app\\Providers\\AppServiceProvider.php":"1ec4db88d3552a5250b23a5730a20185","app\\Console\\Kernel.php":"f7036533db76cf5f2180e942e3a51ebb","app\\Exceptions\\Handler.php":"51a92074c25f79602e1d88bab27cc6f5","app\\Http\\Controllers\\AuthController.php":"da2847a9a182eaec1d125b2d91bc0d42","app\\Http\\Controllers\\Controller.php":"3cd28b4b4ae4d9fa3300376350c2751c","app\\Http\\Controllers\\UserController.php":"a435c4286a2532f277def2023df7c315","app\\Http\\Kernel.php":"dd78ef286f08e779169ef79df8cbd150","app\\Http\\Middleware\\Authenticate.php":"c5c9966ed056b0c30c346e4e1ed6de52","app\\Http\\Middleware\\EncryptCookies.php":"fba0599e278cebd030c54270cf855686","app\\Http\\Middleware\\PreventRequestsDuringMaintenance.php":"bc36f9173ef40b9ed9e334466863d3cd","app\\Http\\Middleware\\RedirectIfAuthenticated.php":"bbf6fd4f1eee7db7212ccf467071910c","config\\database.php":"40d5122ad3be69b8da2be286baeb8a52","config\\filesystems.php":"0832e73395b006321f46a83ccedb3ccc","config\\hashing.php":"d00fd9ca9075c4ea6f6ad22ce52b3270","config\\logging.php":"555f0f96051df392fdf8eb228343fed7","config\\mail.php":"9eaf706909d67b21ba11906c18188479","config\\queue.php":"3602debf67f71c07e7448b9411146a5f","config\\sanctum.php":"a7d069d5340bf31bb697bff3fc71a969","config\\services.php":"58f64381ee639c666aa976be791e36e7","config\\session.php":"3e81cc78f6b54d08b7ffcaf100e6ce57","config\\view.php":"b06ef698da6be2f1214571bb4c4a311e","app\\Providers\\AuthServiceProvider.php":"9235162bfd5da878db7470e4c479451d","app\\Providers\\BroadcastServiceProvider.php":"06e096a7dbb308964951af17f6ea190c","app\\Providers\\EventServiceProvider.php":"b46c5ca9cef8dd7cb86250582c4dd6e0","app\\Providers\\RouteServiceProvider.php":"b178ac899e4b1c45d5672f07762590b8","bootstrap\\app.php":"5e869cd81ba78c305abc18d334c0cba2","bootstrap\\cache\\packages.php":"4729b9b7c89ffdcef02efc391e29d3e9","bootstrap\\cache\\services.php":"a7ef73ba590bbdc8deb767a8f3d6aab3","database\\factories\\UserFactory.php":"529ff335b3146262e3d23374ed56a8bd","database\\migrations\\0001_01_01_000000_create_users_table.php":"e6563bc95e78a8c535ce12e4442eaaf8","database\\migrations\\2019_12_14_000001_create_personal_access_tokens_table.php":"56cb4a268545b0e74d68c8aced1f58e3","storage\\framework\\views\\967092ef3e1507558668863e9463f057.php":"71d1d2804f69c88121eb63e827f0de83","storage\\framework\\views\\f4aff3de51c6874079719f39e969bfb7.php":"2673d1d0efb6de66fc933b875221563e","app\\Models\\Kebab.php":"fcdf01f9d18b9a53ee7c6be0d604c799","app\\Http\\Controllers\\KebabController.php":"5071168a7fd3eeaf2c1d90c4fcc627c3","app\\Http\\Middleware\\CheckAdmin.php":"bfbf273b33fdacb20f8577ad9748a8fc","app\\Http\\Requests\\ChangeEmailRequest.php":"70916b29c6e0aadd102159dc4cad920d","app\\Http\\Requests\\ChangeNameRequest.php":"5cb6eef366a99592a09d7b3ee1f98517","app\\Http\\Requests\\ChangePasswordRequest.php":"65da5c250cf407ebdead62c0a202d4e1","app\\Http\\Requests\\FavoriteKebabRequest.php":"5ce9e715b9cc3209e32cf9cd88b993d6","app\\Http\\Requests\\KebabRequests\\KebabRequest.php":"a2f7670c140e6b02e608b748e0a44cb1","app\\Http\\Controllers\\SuggestionsController.php":"443647e36b95f95002de7e0ca9e2e20d","app\\Models\\Suggestions.php":"dc615d61c486362961ac6b5759735a7c","app\\Http\\Requests\\UserRequests\\UserRequest.php":"e93fdf35b2e521d2b02a23664ded82e3","app\\Http\\Requests\\SuggestionRequest.php":"28832169adb92ccb25e8c62e090f04e5","app\\Http\\Requests\\UserRequests\\ChangeEmailRequest.php":"96acb58486b9bfc2d5d0e871f97d7e07","app\\Http\\Requests\\UserRequests\\ChangeNameRequest.php":"3de895405d2aba7f262fcf39fe48c16b","app\\Http\\Requests\\UserRequests\\ChangePasswordRequest.php":"55f7d4be9b989cf3781dc91a3c0c1dff","app\\Http\\Requests\\UserRequests\\FavoriteKebabRequest.php":"c9c04478f6be56243a4db1ea2a0e4fc4","tests\\Feature\\AuthControllerTest.php":"60def14d559fbc5969ca0dd43bba1020","app\\Http\\Controllers\\GoogleScraperController.php":"de8ae9535538ef7664559b2e3cebb12d","app\\Services\\GoogleScraper.php":"f6e5adad52184bce6d8f064868b4f3be","config\\l5-swagger.php":"933a221eeb784e9243d4c94531a8d40a","app\\Http\\Requests\\UserRequests\\ChangeUserRoleRequest.php":"0ec918f5e4c570ba8fd9db66d1de610a","resources\\views\\vendor\\l5-swagger\\index.blade.php":"5c07239178c67784c1ce65d0261c3cfb","storage\\framework\\views\\3f4a2a5117a095683b4bd4f4817cdd7e.php":"b0d3aaf049ae81da1627ad4a870c9408","app\\Http\\Requests\\KebabRequests\\KebabIsChainstoreRequest.php":"65ebf250f36e3a274d22c16b4dd791b4","app\\Http\\Requests\\KebabRequests\\KebabIsCraftedRequest.php":"381b102d9c9580c2d513531a7467dd3b","app\\Http\\Requests\\KebabRequests\\KebabIsPremisesRequest.php":"f8767ea5fa7565e29386cfa3cb324b56","app\\Http\\Requests\\KebabRequests\\KebabMeatRequest.php":"b9c006d775847fae4d10429f47342a93","app\\Http\\Requests\\KebabRequests\\KebabNameRequest.php":"0da0b3a32ef0c82df40f2e8f6c1c0fee","app\\Http\\Requests\\KebabRequests\\KebabOpeningHourRequest.php":"ab573d1cdc8dc61a5a35c3b4ff0c9012","app\\Http\\Requests\\KebabRequests\\KebabOpeningYearRequest.php":"bb638d93a94e75490ebfabf248cb69b9","app\\Http\\Requests\\KebabRequests\\KebabOrderingOptionRequest.php":"ed527e4eb517950688b22ad6303d9e8c","app\\Http\\Requests\\KebabRequests\\KebabPageRequest.php":"014b90a00819d4440cb3e749e28f2eb3","app\\Http\\Requests\\KebabRequests\\KebabRemoveOpeningHourRequest.php":"00b961233ee7a2d01eacbeeb1fd64aeb","storage\\framework\\views\\6c885b58304fbc4e2aec93b32e21e7d9.php":"b19e8caccdfc6bd8b1e7e830f5e1d73a","storage\\framework\\views\\7ad1c4a57fd20667e171684a776a6a4b.php":"821b94ab7733ebb96e50e1ad1433d626","storage\\framework\\views\\8db7a9c997446847b068860e72051f3f.php":"8edde35264218afe04804880f3021cb9","storage\\framework\\views\\92c61c37d62d309b2261696533623f0e.php":"feedb36e617bd932aee32f5245a5785d","storage\\framework\\views\\ab38df06e69f67dc01873ae179e9d8ac.php":"00b4d8ea20981e02df7d3a8b4ebc0069","storage\\framework\\views\\e5e9ac36fad87cbd2f3251ed9abe7296.php":"a1b239be85267d69c41a467c0f831f77","storage\\framework\\views\\06147b58b27e243b8a91117bcb2e7c76.php":"df03083fa4992a953a9adb33f86db636","storage\\framework\\views\\09d4d7244749dd8974944448cf2bf96f.php":"eb8405a6435c6d8e056d02342db1778f","storage\\framework\\views\\39b6db6ec59539b2c5045f87bed7448a.php":"1140a46aa1a4c1796bd0bf02b1131dbb","storage\\framework\\views\\533535455bececf37749798130da41bd.php":"74d47637030959bfde388944831898d9","storage\\framework\\views\\536ae9e7a221fbfbb57822904ba3aacd.php":"216b289ad08ab01d8a8753234c53796f","storage\\framework\\views\\5ed5e5b51be7b3cfa9851b0e60f8238d.php":"9993f6fb33357d32079c929de0a6c877","storage\\framework\\views\\643935d0d2475a73239c913510676f7a.php":"779fa58ac9e55d40597198c9a67c24fd","storage\\framework\\views\\6468ca2f48adc9c1058f7b5eba9629cd.php":"3cbe9f7c4e9bc14ec04ad4115e6dfcd8","config\\scribe.php":"b6c71b001f3da9b58b724528d6f00970","app\\Http\\Controllers\\KebabScraperController.php":"fa440530a00c1119560417d1e0d6fa00","app\\Http\\Requests\\KebabRequests\\KebabAddressRequest.php":"3fc80132ea0e01f7c599142a0713a32b","app\\Http\\Requests\\KebabRequests\\KebabClosingYearRequest.php":"a6c42ed5a33b0ca0149967228e4be2a9","app\\Http\\Requests\\KebabRequests\\KebabCommentRequest.php":"0315ce8a66bdb7e4d6923e5054f5ec7a","app\\Http\\Requests\\KebabRequests\\KebabCoordinatesRequest.php":"5f338ef5344cb8ed68e436f259db9eaa","app\\Http\\Requests\\KebabRequests\\KebabRemoveOrderingOptionRequest.php":"6be6e425d50113dbe68d31d43f3dceec","app\\Http\\Requests\\KebabRequests\\KebabStatusRequest.php":"6a95b56abfed7dcff01626258dff65e8","app\\Http\\Requests\\KebabRequests\\SauceKebabRequest.php":"a6db49ff8865a674e765f0375afdf96e","app\\Services\\PyszneScraper.php":"21286caf798b637455a2996ac278d24c","database\\seeders\\KebabSeeder.php":"165fb3475df8388da617cd92d5aa292d"}} \ No newline at end of file diff --git a/Backend/.scribe/.filehashes b/Backend/.scribe/.filehashes new file mode 100644 index 0000000..08fa645 --- /dev/null +++ b/Backend/.scribe/.filehashes @@ -0,0 +1,4 @@ +# GENERATED. YOU SHOULDN'T MODIFY OR DELETE THIS FILE. +# Scribe uses this file to know when you change something manually in your docs. +.scribe/intro.md=2d432f59f3d780ec094e1b4b0b024f33 +.scribe/auth.md=7cec6a1c5e4916daf2548212cee2ff83 \ No newline at end of file diff --git a/Backend/.scribe/auth.md b/Backend/.scribe/auth.md new file mode 100644 index 0000000..bc31d5f --- /dev/null +++ b/Backend/.scribe/auth.md @@ -0,0 +1,7 @@ +# Authenticating requests + +To authenticate requests, include an **`Authorization`** header with the value **`"Bearer {YOUR_AUTH_KEY}"`**. + +All authenticated endpoints are marked with a `requires authentication` badge in the documentation below. + +You can retrieve your token by visiting your dashboard and clicking Generate API token. diff --git a/Backend/.scribe/endpoints.cache/00.yaml b/Backend/.scribe/endpoints.cache/00.yaml new file mode 100644 index 0000000..568a33d --- /dev/null +++ b/Backend/.scribe/endpoints.cache/00.yaml @@ -0,0 +1,150 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: Auth +description: '*' +endpoints: + - + httpMethods: + - POST + uri: api/register + metadata: + groupName: Auth + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: aspernatur + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: jamison69@example.org + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: aspernatur + email: jamison69@example.org + password: ut + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/login + metadata: + groupName: Auth + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email: + name: email + description: 'Must be a valid email address. The email of an existing record in the users table.' + required: true + example: kamryn22@example.com + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: '' + required: true + example: at + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + email: kamryn22@example.com + password: at + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/logout + metadata: + groupName: Auth + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints.cache/01.yaml b/Backend/.scribe/endpoints.cache/01.yaml new file mode 100644 index 0000000..76a1d49 --- /dev/null +++ b/Backend/.scribe/endpoints.cache/01.yaml @@ -0,0 +1,1525 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: Kebab +description: '*' +endpoints: + - + httpMethods: + - GET + uri: api/kebabs + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/kebabs could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/comments' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: unde + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: unde + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + id_user: + name: id_user + description: '' + required: true + example: 7 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + comment: + name: comment + description: '' + required: true + example: itaque + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + id_user: 7 + comment: itaque + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/comments' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + id_user: + name: id_user + description: '' + required: true + example: 18 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + comment: + name: comment + description: '' + required: true + example: deserunt + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + id_user: 18 + comment: deserunt + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/addKebab + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + logo: + name: logo + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + name: + name: name + description: '' + required: true + example: perferendis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + address: + name: address + description: '' + required: true + example: vel + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + coordinates: + name: coordinates + description: '' + required: true + example: nisi + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + sauces: + name: sauces + description: '' + required: true + example: at + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + meats: + name: meats + description: '' + required: true + example: ullam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status: + name: status + description: '' + required: true + example: perferendis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + opening_hours: + name: opening_hours + description: '' + required: true + example: perspiciatis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + opening_year: + name: opening_year + description: '' + required: true + example: deleniti + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + closing_year: + name: closing_year + description: '' + required: true + example: accusantium + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + is_crafted: + name: is_crafted + description: '' + required: true + example: placeat + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + is_premises: + name: is_premises + description: '' + required: true + example: minus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + is_chainstore: + name: is_chainstore + description: '' + required: true + example: aut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + ordering_options: + name: ordering_options + description: '' + required: true + example: voluptas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + logo: ut + name: perferendis + address: vel + coordinates: nisi + sauces: at + meats: ullam + status: perferendis + opening_hours: perspiciatis + opening_year: deleniti + closing_year: accusantium + is_crafted: placeat + is_premises: minus + is_chainstore: aut + ordering_options: voluptas + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{id}' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the kebab.' + required: true + example: adipisci + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: adipisci + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/logo' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: quia + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: quia + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/name' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: consequuntur + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: consequuntur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: quidem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: quidem + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/address' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ab + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ab + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + address: + name: address + description: 'Must not be greater than 255 characters.' + required: true + example: huxswcermiukedcsywurinn + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + address: huxswcermiukedcsywurinn + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/coordinates' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: eaque + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: eaque + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + coordinates: + name: coordinates + description: '' + required: true + example: [] + type: object + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + coordinates: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/sauce' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: laboriosam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: laboriosam + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + sauce: + name: sauce + description: '' + required: true + example: nostrum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + sauce: nostrum + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/sauce' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: necessitatibus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: necessitatibus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + sauce: + name: sauce + description: '' + required: true + example: dolore + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + sauce: dolore + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/meat' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: facere + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: facere + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + meat: + name: meat + description: '' + required: true + example: voluptatibus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + meat: voluptatibus + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/meat' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ratione + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ratione + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + meat: + name: meat + description: '' + required: true + example: eos + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + meat: eos + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/status' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: quas + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + status: + name: status + description: '' + required: true + example: exists + type: string + enumValues: + - exists + - closed + - planned + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + status: exists + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/opening-hours' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: est + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + day: + name: day + description: '' + required: true + example: saturday + type: string + enumValues: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + exampleWasSpecified: false + nullable: false + custom: [] + hours: + name: hours + description: '' + required: true + example: quis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + day: saturday + hours: quis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/opening-hours' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: omnis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: omnis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + day: + name: day + description: '' + required: true + example: monday + type: string + enumValues: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + day: monday + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/opening-hours' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: qui + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + day: + name: day + description: '' + required: true + example: sunday + type: string + enumValues: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + exampleWasSpecified: false + nullable: false + custom: [] + hours: + name: hours + description: '' + required: true + example: explicabo + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + day: sunday + hours: explicabo + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/opening-year' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: recusandae + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: recusandae + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + opening_year: + name: opening_year + description: 'Must be 4 digits.' + required: false + example: '6167' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + opening_year: '6167' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/closing-year' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + closing_year: + name: closing_year + description: 'Must be 4 digits.' + required: false + example: '2621' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + closing_year: '2621' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/is-crafted' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: vel + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: vel + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_crafted: + name: is_crafted + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + is_crafted: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/is-premises' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: laudantium + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: laudantium + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_premises: + name: is_premises + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + is_premises: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/is-chainstore' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ea + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ea + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_chainstore: + name: is_chainstore + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + is_chainstore: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/ordering-options' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: reprehenderit + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: reprehenderit + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + new_option: + name: new_option + description: '' + required: true + example: nesciunt + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + new_option: nesciunt + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/ordering-options' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: assumenda + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: assumenda + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + option_to_remove: + name: option_to_remove + description: '' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + option_to_remove: est + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/pages' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: consectetur + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: consectetur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + new_page: + name: new_page + description: '' + required: true + example: explicabo + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + new_page: explicabo + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/pages' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ad + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ad + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + page_to_remove: + name: page_to_remove + description: '' + required: true + example: corporis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + page_to_remove: corporis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints.cache/02.yaml b/Backend/.scribe/endpoints.cache/02.yaml new file mode 100644 index 0000000..e02ba93 --- /dev/null +++ b/Backend/.scribe/endpoints.cache/02.yaml @@ -0,0 +1,47 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: KebabScraper +description: '*' +endpoints: + - + httpMethods: + - GET + uri: api/scrape-reviews + metadata: + groupName: KebabScraper + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/scrape-reviews could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints.cache/03.yaml b/Backend/.scribe/endpoints.cache/03.yaml new file mode 100644 index 0000000..1c84934 --- /dev/null +++ b/Backend/.scribe/endpoints.cache/03.yaml @@ -0,0 +1,569 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: Users +description: '*' +endpoints: + - + httpMethods: + - GET + uri: api/getCurrentUser + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/getCurrentUser could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/fav/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the fav.' + required: true + example: veritatis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: veritatis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/fav/veritatis could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/addfav + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: '' + required: true + example: eum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + kebab_id: + name: kebab_id + description: '' + required: true + example: quia + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + user_id: eum + kebab_id: quia + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/remfav + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: '' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + kebab_id: + name: kebab_id + description: '' + required: true + example: quia + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + user_id: quas + kebab_id: quia + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changeName/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changeName.' + required: true + example: facilis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: facilis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + newName: + name: newName + description: '' + required: true + example: nobis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + newName: nobis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changePassword/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changePassword.' + required: true + example: laborum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: laborum + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + newPassword: + name: newPassword + description: '' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + confirmPassword: + name: confirmPassword + description: '' + required: true + example: rerum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + newPassword: quas + confirmPassword: rerum + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changeEmail/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changeEmail.' + required: true + example: commodi + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: commodi + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + newEmail: + name: newEmail + description: 'Must be a valid email address.' + required: true + example: shanie84@example.org + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + newEmail: shanie84@example.org + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changeUserRole/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changeUserRole.' + required: true + example: atque + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: atque + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + isAdmin: + name: isAdmin + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + isAdmin: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/deleteUser/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the deleteUser.' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: ut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/getAllUsers + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/getAllUsers could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/addNewUser + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: moconnell@example.com + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: '' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: ut + email: moconnell@example.com + password: est + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints.cache/04.yaml b/Backend/.scribe/endpoints.cache/04.yaml new file mode 100644 index 0000000..f36a418 --- /dev/null +++ b/Backend/.scribe/endpoints.cache/04.yaml @@ -0,0 +1,140 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: Suggestions +description: '*' +endpoints: + - + httpMethods: + - POST + uri: api/suggestions + metadata: + groupName: Suggestions + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user: + name: user + description: 'Must not be greater than 255 characters.' + required: true + example: yhyrnmamtgxprtslmownvg + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + contents: + name: contents + description: 'Must not be greater than 255 characters.' + required: true + example: vmtnljhahaj + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + user: yhyrnmamtgxprtslmownvg + contents: vmtnljhahaj + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/suggestions + metadata: + groupName: Suggestions + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/suggestions could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/suggestions/{id}' + metadata: + groupName: Suggestions + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the suggestion.' + required: true + example: magni + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: magni + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints.cache/05.yaml b/Backend/.scribe/endpoints.cache/05.yaml new file mode 100644 index 0000000..528ac50 --- /dev/null +++ b/Backend/.scribe/endpoints.cache/05.yaml @@ -0,0 +1,47 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: Endpoints +description: '' +endpoints: + - + httpMethods: + - GET + uri: api/documentation + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/documentation could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/00.yaml b/Backend/.scribe/endpoints/00.yaml new file mode 100644 index 0000000..cc0ec1a --- /dev/null +++ b/Backend/.scribe/endpoints/00.yaml @@ -0,0 +1,148 @@ +name: Auth +description: '*' +endpoints: + - + httpMethods: + - POST + uri: api/register + metadata: + groupName: Auth + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: aspernatur + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: jamison69@example.org + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: aspernatur + email: jamison69@example.org + password: ut + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/login + metadata: + groupName: Auth + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email: + name: email + description: 'Must be a valid email address. The email of an existing record in the users table.' + required: true + example: kamryn22@example.com + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: '' + required: true + example: at + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + email: kamryn22@example.com + password: at + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/logout + metadata: + groupName: Auth + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/01.yaml b/Backend/.scribe/endpoints/01.yaml new file mode 100644 index 0000000..3d66fe0 --- /dev/null +++ b/Backend/.scribe/endpoints/01.yaml @@ -0,0 +1,1523 @@ +name: Kebab +description: '*' +endpoints: + - + httpMethods: + - GET + uri: api/kebabs + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/kebabs could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/comments' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: unde + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: unde + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + id_user: + name: id_user + description: '' + required: true + example: 7 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + comment: + name: comment + description: '' + required: true + example: itaque + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + id_user: 7 + comment: itaque + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/comments' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + id_user: + name: id_user + description: '' + required: true + example: 18 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + comment: + name: comment + description: '' + required: true + example: deserunt + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + id_user: 18 + comment: deserunt + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/addKebab + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + logo: + name: logo + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + name: + name: name + description: '' + required: true + example: perferendis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + address: + name: address + description: '' + required: true + example: vel + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + coordinates: + name: coordinates + description: '' + required: true + example: nisi + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + sauces: + name: sauces + description: '' + required: true + example: at + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + meats: + name: meats + description: '' + required: true + example: ullam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + status: + name: status + description: '' + required: true + example: perferendis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + opening_hours: + name: opening_hours + description: '' + required: true + example: perspiciatis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + opening_year: + name: opening_year + description: '' + required: true + example: deleniti + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + closing_year: + name: closing_year + description: '' + required: true + example: accusantium + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + is_crafted: + name: is_crafted + description: '' + required: true + example: placeat + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + is_premises: + name: is_premises + description: '' + required: true + example: minus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + is_chainstore: + name: is_chainstore + description: '' + required: true + example: aut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + ordering_options: + name: ordering_options + description: '' + required: true + example: voluptas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + logo: ut + name: perferendis + address: vel + coordinates: nisi + sauces: at + meats: ullam + status: perferendis + opening_hours: perspiciatis + opening_year: deleniti + closing_year: accusantium + is_crafted: placeat + is_premises: minus + is_chainstore: aut + ordering_options: voluptas + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{id}' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the kebab.' + required: true + example: adipisci + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: adipisci + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/logo' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: quia + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: quia + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/name' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: consequuntur + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: consequuntur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: quidem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: quidem + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/address' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ab + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ab + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + address: + name: address + description: 'Must not be greater than 255 characters.' + required: true + example: huxswcermiukedcsywurinn + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + address: huxswcermiukedcsywurinn + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/coordinates' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: eaque + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: eaque + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + coordinates: + name: coordinates + description: '' + required: true + example: [] + type: object + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + coordinates: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/sauce' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: laboriosam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: laboriosam + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + sauce: + name: sauce + description: '' + required: true + example: nostrum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + sauce: nostrum + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/sauce' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: necessitatibus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: necessitatibus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + sauce: + name: sauce + description: '' + required: true + example: dolore + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + sauce: dolore + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/meat' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: facere + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: facere + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + meat: + name: meat + description: '' + required: true + example: voluptatibus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + meat: voluptatibus + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/meat' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ratione + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ratione + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + meat: + name: meat + description: '' + required: true + example: eos + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + meat: eos + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/status' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: quas + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + status: + name: status + description: '' + required: true + example: exists + type: string + enumValues: + - exists + - closed + - planned + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + status: exists + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/opening-hours' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: est + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + day: + name: day + description: '' + required: true + example: saturday + type: string + enumValues: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + exampleWasSpecified: false + nullable: false + custom: [] + hours: + name: hours + description: '' + required: true + example: quis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + day: saturday + hours: quis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/opening-hours' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: omnis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: omnis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + day: + name: day + description: '' + required: true + example: monday + type: string + enumValues: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + day: monday + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/opening-hours' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: qui + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + day: + name: day + description: '' + required: true + example: sunday + type: string + enumValues: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + exampleWasSpecified: false + nullable: false + custom: [] + hours: + name: hours + description: '' + required: true + example: explicabo + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + day: sunday + hours: explicabo + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/opening-year' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: recusandae + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: recusandae + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + opening_year: + name: opening_year + description: 'Must be 4 digits.' + required: false + example: '6167' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + opening_year: '6167' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/closing-year' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + closing_year: + name: closing_year + description: 'Must be 4 digits.' + required: false + example: '2621' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + closing_year: '2621' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/is-crafted' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: vel + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: vel + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_crafted: + name: is_crafted + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + is_crafted: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/is-premises' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: laudantium + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: laudantium + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_premises: + name: is_premises + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + is_premises: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/kebabs/{kebabId}/is-chainstore' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ea + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ea + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_chainstore: + name: is_chainstore + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: true + custom: [] + cleanBodyParameters: + is_chainstore: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/ordering-options' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: reprehenderit + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: reprehenderit + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + new_option: + name: new_option + description: '' + required: true + example: nesciunt + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + new_option: nesciunt + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/ordering-options' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: assumenda + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: assumenda + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + option_to_remove: + name: option_to_remove + description: '' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + option_to_remove: est + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/kebabs/{kebabId}/pages' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: consectetur + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: consectetur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + new_page: + name: new_page + description: '' + required: true + example: explicabo + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + new_page: explicabo + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/kebabs/{kebabId}/pages' + metadata: + groupName: Kebab + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + kebabId: + name: kebabId + description: '' + required: true + example: ad + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + kebabId: ad + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + page_to_remove: + name: page_to_remove + description: '' + required: true + example: corporis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + page_to_remove: corporis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/02.yaml b/Backend/.scribe/endpoints/02.yaml new file mode 100644 index 0000000..335420e --- /dev/null +++ b/Backend/.scribe/endpoints/02.yaml @@ -0,0 +1,45 @@ +name: KebabScraper +description: '*' +endpoints: + - + httpMethods: + - GET + uri: api/scrape-reviews + metadata: + groupName: KebabScraper + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/scrape-reviews could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/03.yaml b/Backend/.scribe/endpoints/03.yaml new file mode 100644 index 0000000..e96baad --- /dev/null +++ b/Backend/.scribe/endpoints/03.yaml @@ -0,0 +1,567 @@ +name: Users +description: '*' +endpoints: + - + httpMethods: + - GET + uri: api/getCurrentUser + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/getCurrentUser could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/fav/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the fav.' + required: true + example: veritatis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: veritatis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/fav/veritatis could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/addfav + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: '' + required: true + example: eum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + kebab_id: + name: kebab_id + description: '' + required: true + example: quia + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + user_id: eum + kebab_id: quia + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/remfav + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: '' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + kebab_id: + name: kebab_id + description: '' + required: true + example: quia + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + user_id: quas + kebab_id: quia + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changeName/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changeName.' + required: true + example: facilis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: facilis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + newName: + name: newName + description: '' + required: true + example: nobis + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + newName: nobis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changePassword/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changePassword.' + required: true + example: laborum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: laborum + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + newPassword: + name: newPassword + description: '' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + confirmPassword: + name: confirmPassword + description: '' + required: true + example: rerum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + newPassword: quas + confirmPassword: rerum + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changeEmail/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changeEmail.' + required: true + example: commodi + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: commodi + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + newEmail: + name: newEmail + description: 'Must be a valid email address.' + required: true + example: shanie84@example.org + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + newEmail: shanie84@example.org + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/changeUserRole/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the changeUserRole.' + required: true + example: atque + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: atque + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + isAdmin: + name: isAdmin + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + isAdmin: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/deleteUser/{id}' + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the deleteUser.' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: ut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/getAllUsers + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/getAllUsers could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/addNewUser + metadata: + groupName: Users + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: moconnell@example.com + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: '' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: ut + email: moconnell@example.com + password: est + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/04.yaml b/Backend/.scribe/endpoints/04.yaml new file mode 100644 index 0000000..1743cc3 --- /dev/null +++ b/Backend/.scribe/endpoints/04.yaml @@ -0,0 +1,138 @@ +name: Suggestions +description: '*' +endpoints: + - + httpMethods: + - POST + uri: api/suggestions + metadata: + groupName: Suggestions + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user: + name: user + description: 'Must not be greater than 255 characters.' + required: true + example: yhyrnmamtgxprtslmownvg + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + contents: + name: contents + description: 'Must not be greater than 255 characters.' + required: true + example: vmtnljhahaj + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + user: yhyrnmamtgxprtslmownvg + contents: vmtnljhahaj + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/suggestions + metadata: + groupName: Suggestions + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/suggestions could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/suggestions/{id}' + metadata: + groupName: Suggestions + groupDescription: '*' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the suggestion.' + required: true + example: magni + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + id: magni + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/05.yaml b/Backend/.scribe/endpoints/05.yaml new file mode 100644 index 0000000..eac0c3b --- /dev/null +++ b/Backend/.scribe/endpoints/05.yaml @@ -0,0 +1,45 @@ +name: Endpoints +description: '' +endpoints: + - + httpMethods: + - GET + uri: api/documentation + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 404 + content: |- + { + "message": "The route api/documentation could not be found." + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + vary: Origin + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] diff --git a/Backend/.scribe/endpoints/custom.0.yaml b/Backend/.scribe/endpoints/custom.0.yaml new file mode 100644 index 0000000..4b02352 --- /dev/null +++ b/Backend/.scribe/endpoints/custom.0.yaml @@ -0,0 +1,53 @@ +# To include an endpoint that isn't a part of your Laravel app (or belongs to a vendor package), +# you can define it in a custom.*.yaml file, like this one. +# Each custom file should contain an array of endpoints. Here's an example: +# See https://scribe.knuckles.wtf/laravel/documenting/custom-endpoints#extra-sorting-groups-in-custom-endpoint-files for more options + +#- httpMethods: +# - POST +# uri: api/doSomething/{param} +# metadata: +# groupName: The group the endpoint belongs to. Can be a new group or an existing group. +# groupDescription: A description for the group. You don't need to set this for every endpoint; once is enough. +# subgroup: You can add a subgroup, too. +# title: Do something +# description: 'This endpoint allows you to do something.' +# authenticated: false +# headers: +# Content-Type: application/json +# Accept: application/json +# urlParameters: +# param: +# name: param +# description: A URL param for no reason. +# required: true +# example: 2 +# type: integer +# queryParameters: +# speed: +# name: speed +# description: How fast the thing should be done. Can be `slow` or `fast`. +# required: false +# example: fast +# type: string +# bodyParameters: +# something: +# name: something +# description: The things we should do. +# required: true +# example: +# - string 1 +# - string 2 +# type: 'string[]' +# responses: +# - status: 200 +# description: 'When the thing was done smoothly.' +# content: # Your response content can be an object, an array, a string or empty. +# { +# "hey": "ho ho ho" +# } +# responseFields: +# hey: +# name: hey +# description: Who knows? +# type: string # This is optional diff --git a/Backend/.scribe/intro.md b/Backend/.scribe/intro.md new file mode 100644 index 0000000..2ad461b --- /dev/null +++ b/Backend/.scribe/intro.md @@ -0,0 +1,13 @@ +# Introduction + + + + + +This documentation aims to provide all the information you need to work with our API. + + + diff --git a/Backend/api/documentation/collection.json b/Backend/api/documentation/collection.json new file mode 100644 index 0000000..db935ee --- /dev/null +++ b/Backend/api/documentation/collection.json @@ -0,0 +1,1733 @@ +{ + "variable": [ + { + "id": "baseUrl", + "key": "baseUrl", + "type": "string", + "name": "string", + "value": "api\/documentation" + } + ], + "info": { + "name": "Kebab Api", + "_postman_id": "317b0c86-8c70-44bc-a09f-d4a42be95c59", + "description": "", + "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json" + }, + "item": [ + { + "name": "Endpoints", + "description": "", + "item": [ + { + "name": "POST api\/register", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/register", + "query": [], + "raw": "{{baseUrl}}\/api\/register" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"name\":\"est\",\"email\":\"igibson@example.com\",\"password\":\"corporis\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/login", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/login", + "query": [], + "raw": "{{baseUrl}}\/api\/login" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"email\":\"kirlin.tara@example.com\",\"password\":\"expedita\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "GET api\/kebabs", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/kebabs could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "GET api\/scrape-reviews", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/scrape-reviews", + "query": [], + "raw": "{{baseUrl}}\/api\/scrape-reviews" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/scrape-reviews could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "POST api\/logout", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/logout", + "query": [], + "raw": "{{baseUrl}}\/api\/logout" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "GET api\/getCurrentUser", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/getCurrentUser", + "query": [], + "raw": "{{baseUrl}}\/api\/getCurrentUser" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/getCurrentUser could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "GET api\/fav\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/fav\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/fav\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "iste", + "description": "The ID of the fav." + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/fav\/iste could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "POST api\/addfav", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/addfav", + "query": [], + "raw": "{{baseUrl}}\/api\/addfav" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"user_id\":\"voluptatem\",\"kebab_id\":\"ullam\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/remfav", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/remfav", + "query": [], + "raw": "{{baseUrl}}\/api\/remfav" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"user_id\":\"eum\",\"kebab_id\":\"dicta\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changeName\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changeName\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changeName\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "id", + "description": "The ID of the changeName." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"newName\":\"voluptas\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changePassword\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changePassword\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changePassword\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "culpa", + "description": "The ID of the changePassword." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"newPassword\":\"eligendi\",\"confirmPassword\":\"possimus\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changeEmail\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changeEmail\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changeEmail\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "et", + "description": "The ID of the changeEmail." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"newEmail\":\"ervin.kuphal@example.net\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/suggestions", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/suggestions", + "query": [], + "raw": "{{baseUrl}}\/api\/suggestions" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"user\":\"bghrjiaodyjq\",\"contents\":\"vyjf\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/comments", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/comments", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/comments", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "reprehenderit", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"id_user\":20,\"comment\":\"aliquam\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/comments", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/comments", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/comments", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "rerum", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"id_user\":12,\"comment\":\"inventore\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changeUserRole\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changeUserRole\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changeUserRole\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "nesciunt", + "description": "The ID of the changeUserRole." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"isAdmin\":true}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/deleteUser\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/deleteUser\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/deleteUser\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "minima", + "description": "The ID of the deleteUser." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "GET api\/getAllUsers", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/getAllUsers", + "query": [], + "raw": "{{baseUrl}}\/api\/getAllUsers" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/getAllUsers could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "POST api\/addNewUser", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/addNewUser", + "query": [], + "raw": "{{baseUrl}}\/api\/addNewUser" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"name\":\"eveniet\",\"email\":\"tyrique37@example.org\",\"password\":\"qui\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/addKebab", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/addKebab", + "query": [], + "raw": "{{baseUrl}}\/api\/addKebab" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"logo\":\"quis\",\"name\":\"qui\",\"address\":\"dicta\",\"coordinates\":\"porro\",\"sauces\":\"impedit\",\"meats\":\"dolorem\",\"status\":\"rem\",\"opening_hours\":\"eligendi\",\"opening_year\":\"eveniet\",\"closing_year\":\"omnis\",\"is_crafted\":\"molestias\",\"is_premises\":\"excepturi\",\"is_chainstore\":\"iste\",\"ordering_options\":\"nam\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "architecto", + "description": "The ID of the kebab." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/logo", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/logo", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/logo", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "necessitatibus", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/name", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/name", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/name", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "minima", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"name\":\"molestiae\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/address", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/address", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/address", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "aut", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"address\":\"hasoytxcdkunpxsulsofhjcbd\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/coordinates", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/coordinates", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/coordinates", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "autem", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"coordinates\":[]}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/sauce", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/sauce", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/sauce", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "accusamus", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"sauce\":\"nulla\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/sauce", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/sauce", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/sauce", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "officia", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"sauce\":\"est\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/meat", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/meat", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/meat", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "et", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"meat\":\"voluptates\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/meat", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/meat", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/meat", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "et", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"meat\":\"suscipit\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/status", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/status", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/status", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "doloribus", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"status\":\"exists\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/opening-hours", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-hours", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-hours", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "quam", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"day\":\"saturday\",\"hours\":\"recusandae\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/opening-hours", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-hours", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-hours", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "enim", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"day\":\"wednesday\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/opening-hours", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-hours", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-hours", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "maxime", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"day\":\"friday\",\"hours\":\"vel\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/opening-year", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-year", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-year", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "necessitatibus", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"opening_year\":\"1897\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/closing-year", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/closing-year", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/closing-year", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "velit", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"closing_year\":\"8861\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/is-crafted", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/is-crafted", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/is-crafted", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "dicta", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"is_crafted\":true}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/is-premises", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/is-premises", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/is-premises", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "neque", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"is_premises\":false}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/is-chainstore", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/is-chainstore", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/is-chainstore", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "corporis", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"is_chainstore\":false}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/ordering-options", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/ordering-options", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/ordering-options", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "eum", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"new_option\":\"distinctio\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/ordering-options", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/ordering-options", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/ordering-options", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "tenetur", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"option_to_remove\":\"eaque\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/pages", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/pages", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/pages", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "id", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"new_page\":\"voluptates\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/pages", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/pages", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/pages", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "iusto", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"page_to_remove\":\"quaerat\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "GET api\/suggestions", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/suggestions", + "query": [], + "raw": "{{baseUrl}}\/api\/suggestions" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/suggestions could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "DELETE api\/suggestions\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/suggestions\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/suggestions\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "non", + "description": "The ID of the suggestion." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + } + ] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "Authorization", + "type": "string" + } + ] + } +} \ No newline at end of file diff --git a/Backend/api/documentation/css/theme-default.print.css b/Backend/api/documentation/css/theme-default.print.css new file mode 100644 index 0000000..18ab760 --- /dev/null +++ b/Backend/api/documentation/css/theme-default.print.css @@ -0,0 +1,393 @@ +/* Copied from https://github.com/slatedocs/slate/blob/c4b4c0b8f83e891ca9fab6bbe9a1a88d5fe41292/stylesheets/print.css and unminified */ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline +} + +audio:not([controls]) { + display: none; + height: 0 +} + +[hidden], +template { + display: none +} + +a { + background-color: transparent +} + +a:active, +a:hover { + outline: 0 +} + +abbr[title] { + border-bottom: 1px dotted +} + +b, +strong { + font-weight: bold +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: 0.67em 0 +} + +mark { + background: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -0.5em +} + +sub { + bottom: -0.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: content-box; + height: 0 +} + +pre { + overflow: auto +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0 +} + +button { + overflow: visible +} + +button, +select { + text-transform: none +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer +} + +button[disabled], +html input[disabled] { + cursor: default +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input { + line-height: normal +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0 +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto +} + +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em +} + +legend { + border: 0; + padding: 0 +} + +textarea { + overflow: auto +} + +optgroup { + font-weight: bold +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, +th { + padding: 0 +} + +.content h1, +.content h2, +.content h3, +.content h4, +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 14px +} + +.content h1, +.content h2, +.content h3, +.content h4 { + font-weight: bold +} + +.content pre, +.content code { + font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; + font-size: 12px; + line-height: 1.5 +} + +.content pre, +.content code { + word-break: break-all; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto +} + +@font-face { + font-family: 'slate'; + src: url(../fonts/slate.eot?-syv14m); + src: url(../fonts/slate.eot?#iefix-syv14m) format("embedded-opentype"), url(../fonts/slate.woff2?-syv14m) format("woff2"), url(../fonts/slate.woff?-syv14m) format("woff"), url(../fonts/slate.ttf?-syv14m) format("truetype"), url(../fonts/slate.svg?-syv14m#slate) format("svg"); + font-weight: normal; + font-style: normal +} + +.content aside.warning:before, +.content aside.notice:before, +.content aside.success:before { + font-family: 'slate'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1 +} + +.content aside.warning:before { + content: "\e600" +} + +.content aside.notice:before { + content: "\e602" +} + +.content aside.success:before { + content: "\e606" +} + +.tocify, +.toc-footer, +.lang-selector, +.search, +#nav-button { + display: none +} + +.tocify-wrapper>img { + margin: 0 auto; + display: block +} + +.content { + font-size: 12px +} + +.content pre, +.content code { + border: 1px solid #999; + border-radius: 5px; + font-size: 0.8em +} + +.content pre code { + border: 0 +} + +.content pre { + padding: 1.3em +} + +.content code { + padding: 0.2em +} + +.content table { + border: 1px solid #999 +} + +.content table tr { + border-bottom: 1px solid #999 +} + +.content table td, +.content table th { + padding: 0.7em +} + +.content p { + line-height: 1.5 +} + +.content a { + text-decoration: none; + color: #000 +} + +.content h1 { + font-size: 2.5em; + padding-top: 0.5em; + padding-bottom: 0.5em; + margin-top: 1em; + margin-bottom: 21px; + border: 2px solid #ccc; + border-width: 2px 0; + text-align: center +} + +.content h2 { + font-size: 1.8em; + margin-top: 2em; + border-top: 2px solid #ccc; + padding-top: 0.8em +} + +.content h1+h2, +.content h1+div+h2 { + border-top: none; + padding-top: 0; + margin-top: 0 +} + +.content h3, +.content h4 { + font-size: 0.8em; + margin-top: 1.5em; + margin-bottom: 0.8em; + text-transform: uppercase +} + +.content h5, +.content h6 { + text-transform: uppercase +} + +.content aside { + padding: 1em; + border: 1px solid #ccc; + border-radius: 5px; + margin-top: 1.5em; + margin-bottom: 1.5em; + line-height: 1.6 +} + +.content aside:before { + vertical-align: middle; + padding-right: 0.5em; + font-size: 14px +} diff --git a/Backend/api/documentation/css/theme-default.style.css b/Backend/api/documentation/css/theme-default.style.css new file mode 100644 index 0000000..9a4741c --- /dev/null +++ b/Backend/api/documentation/css/theme-default.style.css @@ -0,0 +1,1090 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +html { + font-family: 'Open Sans', sans-serif; + font-size: 1.2em; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section { + display: block +} + +summary { + cursor: pointer; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline +} + +audio:not([controls]) { + display: none; + height: 0 +} + +[hidden], +template { + display: none +} + +a { + background-color: transparent +} + +a:active, +a:hover { + outline: 0 +} + +abbr[title] { + border-bottom: 1px dotted +} + +b, +strong { + font-weight: 700 +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: .67em 0 +} + +mark { + background: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -.5em +} + +sub { + bottom: -.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: content-box; + height: 0 +} + +pre { + overflow: auto +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0 +} + +button { + overflow: visible +} + +button, +select { + text-transform: none +} + +button, +html input[type=button], +input[type=reset], +input[type=submit] { + -webkit-appearance: button; + cursor: pointer +} + +button[disabled], +html input[disabled] { + cursor: default +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input { + line-height: normal +} + +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + padding: 0 +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + height: auto +} + +input[type=search] { + -webkit-appearance: textfield; + box-sizing: content-box +} + +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +fieldset { + border: 1px solid silver; + margin: 0 2px; + padding: .35em .625em .75em +} + +legend { + border: 0; + padding: 0 +} + +textarea { + overflow: auto +} + +optgroup { + font-weight: 700 +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, +th { + padding: 0 +} + +body, +html { + font-family: 'Open Sans', Helvetica Neue, Helvetica, Arial, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif; + font-size: 16px; +} + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + font-family: 'Open Sans', Helvetica Neue, Helvetica, Arial, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif; +} + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + font-weight: 700 +} + +.content code, +.content pre { + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; + font-size: 14px; + line-height: 1.5 +} + +.content code { + word-break: break-all; + word-break: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto +} + +.content aside.notice:before, +.content aside.success:before, +.content aside.warning:before, +.tocify-wrapper>.search:before { + font-family: 'Open Sans', sans-serif; + speak: none; + font-style: normal; + font-variant: normal; + text-transform: none; + line-height: 1 +} + +.content aside.warning:before { + content: "✋" +} + +.content aside.notice:before { + content: "ℹ" +} + +.content aside.success:before { + content: "✅" +} + +.tocify-wrapper>.search:before { + content: "🔎" +} + +.highlight .c, +.highlight .c1, +.highlight .cm, +.highlight .cs { + color: #909090 +} + +.highlight, +.highlight .w { + background-color: #292929 +} + +.hljs { + display: block; + overflow-x: auto; + padding: .5em; + background: #23241f +} + +.hljs, +.hljs-subst, +.hljs-tag { + color: #f8f8f2 +} + +.hljs-emphasis, +.hljs-strong { + color: #a8a8a2 +} + +.hljs-bullet, +.hljs-link, +.hljs-literal, +.hljs-number, +.hljs-quote, +.hljs-regexp { + color: #ae81ff +} + +.hljs-code, +.hljs-section, +.hljs-selector-class, +.hljs-title { + color: #a6e22e +} + +.hljs-strong { + font-weight: 700 +} + +.hljs-emphasis { + font-style: italic +} + +.hljs-attr, +.hljs-keyword, +.hljs-name, +.hljs-selector-tag { + color: #f92672 +} + +.hljs-attribute, +.hljs-symbol { + color: #66d9ef +} + +.hljs-class .hljs-title, +.hljs-params { + color: #f8f8f2 +} + +.hljs-addition, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-id, +.hljs-selector-pseudo, +.hljs-string, +.hljs-template-variable, +.hljs-type, +.hljs-variable { + color: #e6db74 +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e +} + +body, +html { + color: #333; + padding: 0; + margin: 0; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: whitesmoke; + height: 100%; + -webkit-text-size-adjust: none +} + +#toc>ul>li>a>span { + float: right; + background-color: #2484ff; + border-radius: 40px; + width: 20px +} + +.tocify-wrapper { + transition: left .3s ease-in-out; + overflow-y: auto; + overflow-x: hidden; + position: fixed; + z-index: 30; + top: 0; + left: 0; + bottom: 0; + width: 230px; + background-color: #393939; + font-size: 13px; + font-weight: 700 +} + +.tocify-wrapper .lang-selector { + display: none +} + +.tocify-wrapper .lang-selector a { + padding-top: .5em; + padding-bottom: .5em +} + +.tocify-wrapper>img { + display: block +} + +.tocify-wrapper>.search { + position: relative +} + +.tocify-wrapper>.search input { + background: #393939; + border-width: 0 0 1px; + border-color: #666; + padding: 6px 0 6px 20px; + box-sizing: border-box; + margin: 10px 15px; + width: 200px; + outline: none; + color: #fff; + border-radius: 0 +} + +.tocify-wrapper>.search:before { + position: absolute; + top: 17px; + left: 15px; + color: #fff +} + +.tocify-wrapper img+.tocify { + margin-top: 20px +} + +.tocify-wrapper .search-results { + margin-top: 0; + box-sizing: border-box; + height: 0; + overflow-y: auto; + overflow-x: hidden; + transition-property: height, margin; + transition-duration: .18s; + transition-timing-function: ease-in-out; + background: linear-gradient(180deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(0deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(180deg, #000, transparent 1.5px), linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626 +} + +.tocify-wrapper .search-results.visible { + height: 30%; + margin-bottom: 1em +} + +.tocify-wrapper .search-results li { + margin: 1em 15px; + line-height: 1 +} + +.tocify-wrapper a { + color: #fff; + text-decoration: none +} + +.tocify-wrapper .search-results a:hover { + text-decoration: underline +} + +.tocify-wrapper .toc-footer li, +.tocify-wrapper .tocify-item>a { + padding: 0 15px; + display: block; + overflow-x: hidden; + white-space: nowrap; + text-overflow: ellipsis +} +.tocify-wrapper .tocify-item.level-3>a { + padding: 0 25px; +} + +.tocify-wrapper li, +.tocify-wrapper ul { + list-style: none; + margin: 0; + padding: 0; + line-height: 28px +} + +.tocify-wrapper li { + color: #fff; + transition-property: background; + transition-timing-function: linear; + transition-duration: .23s +} + +.tocify-wrapper .tocify-focus { + box-shadow: 0 1px 0 #000; + background-color: #2467af; + color: #fff; + font-weight: bold; +} + +.tocify-wrapper .tocify-subheader { + display: none; + background-color: #262626; + font-weight: 500; + background: linear-gradient(180deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(0deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(180deg, #000, transparent 1.5px), linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626 +} + +.tocify-wrapper .jets-searching .tocify-subheader, +.tocify-wrapper .tocify-subheader.visible { + display: block; +} + +.tocify-wrapper .tocify-subheader .tocify-item>a { + padding-left: 25px; + font-size: 12px +} + +.tocify-wrapper .tocify-subheader .tocify-item.level-3>a { + padding-left: 35px; +} + +.tocify-wrapper .tocify-subheader>li:last-child { + box-shadow: none +} + +.tocify-wrapper .toc-footer { + padding: 1em 0; + margin-top: 1em; + border-top: 1px dashed #666 +} + +.tocify-wrapper .toc-footer a, +.tocify-wrapper .toc-footer li { + color: #fff; + text-decoration: none +} + +.tocify-wrapper .toc-footer a:hover { + text-decoration: underline +} + +.tocify-wrapper .toc-footer li { + font-size: .8em; + line-height: 1.7; + text-decoration: none +} + +#nav-button { + padding: 0 1.5em 5em 0; + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 100; + color: #000; + text-decoration: none; + font-weight: 700; + opacity: .7; + line-height: 16px; + transition: left .3s ease-in-out +} + +#nav-button span { + display: block; + padding: 6px; + background-color: rgba(234, 242, 246, .7); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: rotate(-90deg) translate(-100%); + transform: rotate(-90deg) translate(-100%); + border-radius: 0 0 0 5px +} + +#nav-button img { + height: 16px; + vertical-align: bottom +} + +#nav-button:hover { + opacity: 1 +} + +#nav-button.open { + left: 230px +} + +.page-wrapper { + margin-left: 230px; + position: relative; + z-index: 10; + background-color: #eaf2f6; + min-height: 100%; + padding-bottom: 1px +} + +.page-wrapper .dark-box { + width: 50%; + background-color: #393939; + position: absolute; + right: 0; + top: 0; + bottom: 0 +} + +.page-wrapper .lang-selector { + position: fixed; + z-index: 50; + border-bottom: 5px solid #393939 +} + +.lang-selector { + background-color: #222; + width: 100%; + font-weight: 700 +} + +.lang-selector button { + display: block; + float: left; + color: #fff; + text-decoration: none; + padding: 0 10px; + line-height: 30px; + outline: 0; + background: transparent; + border: none; +} + +.lang-selector button:active, +.lang-selector button:hover, +.lang-selector button:focus { + background-color: #111; + color: #fff +} + +.lang-selector button.active { + background-color: #393939; + color: #fff +} + +.lang-selector:after { + content: ''; + clear: both; + display: block +} + +.content { + position: relative; + z-index: 30 +} + +.content:after { + content: ''; + display: block; + clear: both +} + +.content>aside, +.content>details, +.content>dl, +.content>h1, +.content>h2, +.content>h3, +.content>h4, +.content>h5, +.content>h6, +.content>ol, +.content>p, +.content>table, +.content>ul, +.content>div, +.content>form>aside, +.content>form>details, +.content>form>h1, +.content>form>h2, +.content>form>h3, +.content>form>h4, +.content>form>h5, +.content>form>h6, +.content>form>p, +.content>form>table, +.content>form>ul, +.content>form>div { + margin-right: 50%; + padding: 0 28px; + box-sizing: border-box; + display: block; + text-shadow: 0 1px 0 #fff +} + +.content>ol, +.content>ul { + padding-left: 43px +} + +.content>div, +.content>h1, +.content>h2 { + clear: both +} + +.content h1 { + font-size: 30px; + padding-top: .5em; + padding-bottom: .5em; + border-bottom: 1px solid #ccc; + margin-bottom: 21px; + margin-top: 2em; + border-top: 1px solid #ddd; + background-image: linear-gradient(180deg, #fff, #f9f9f9) +} + +.content div:first-child+h1, +.content h1:first-child { + border-top-width: 0; + margin-top: 0 +} + +.content h2 { + font-size: 20px; + margin-top: 4em; + margin-bottom: 0; + border-top: 1px solid #ccc; + padding-top: 1.2em; + padding-bottom: 1.2em; + background-image: linear-gradient(180deg, hsla(0, 0%, 100%, .4), hsla(0, 0%, 100%, 0)) +} + +.content h1+div+h2, +.content h1+h2 { + margin-top: -21px; + border-top: none +} + +.content h3, +.content h4, +.content h5, +.content h6 { + font-size: 15px; + margin-top: 2.5em; + margin-bottom: .8em +} + +.content h4, +.content h5, +.content h6 { + font-size: 10px +} + +.content hr { + margin: 2em 0; + border-top: 2px solid #393939; + border-bottom: 2px solid #eaf2f6 +} + +.content table { + margin-bottom: 1em; + overflow: auto +} + +.content table td, +.content table th { + text-align: left; + vertical-align: top; + line-height: 1.6 +} + +.content table th { + padding: 5px 10px; + border-bottom: 1px solid #ccc; + vertical-align: bottom +} + +.content table td { + padding: 10px +} + +.content table tr:last-child { + border-bottom: 1px solid #ccc +} + +.content table tr:nth-child(odd)>td { + background-color: #ebf3f6 +} + +.content table tr:nth-child(even)>td { + background-color: #ebf2f6 +} + +.content dt { + font-weight: 700 +} + +.content dd { + margin-left: 15px +} + +.content dd, +.content dt, +.content li, +.content p { + line-height: 1.6; + margin-top: 0 +} + +.content img { + max-width: 100% +} + +.content code { + padding: 3px; + border-radius: 3px +} + +.content pre>code { + background-color: transparent; + padding: 0 +} + +.content aside { + padding-top: 1em; + padding-bottom: 1em; + margin-top: 1.5em; + margin-bottom: 1.5em; + background: #292929; + line-height: 1.6; + color: #c8c8c8; + text-shadow: none; +} + +.content aside.info { + background: #8fbcd4; + text-shadow: 0 1px 0 #a0c6da; + color: initial; +} + +.content aside.warning { + background-color: #c97a7e; + text-shadow: 0 1px 0 #d18e91; + color: initial; +} + +.content aside.success { + background-color: #6ac174; + text-shadow: 0 1px 0 #80ca89; + color: initial; +} + +.content aside:before { + vertical-align: middle; + padding-right: .5em; + font-size: 14px +} + +.content .search-highlight { + padding: 2px; + margin: -2px; + border-radius: 4px; + border: 1px solid #f7e633; + text-shadow: 1px 1px 0 #666; + background: linear-gradient(to top left, #f7e633, #f1d32f) +} + +.content blockquote, +.content pre { + background-color: #292929; + color: #fff; + padding: 1.5em 28px; + margin: 0; + width: 50%; + float: right; + clear: right; + box-sizing: border-box; + text-shadow: 0 1px 2px rgba(0, 0, 0, .4) +} + +.content blockquote pre.sf-dump, +.content pre pre.sf-dump { + width: 100%; +} + +.content .annotation { + background-color: #292929; + color: #fff; + padding: 0 28px; + margin: 0; + width: 50%; + float: right; + clear: right; + box-sizing: border-box; + text-shadow: 0 1px 2px rgba(0, 0, 0, .4) +} + +.content .annotation pre { + padding: 0 0; + width: 100%; + float: none; +} + +.content blockquote>p, +.content pre>p { + margin: 0 +} + +.content blockquote a, +.content pre a { + color: #fff; + text-decoration: none; + border-bottom: 1px dashed #ccc +} + +.content blockquote>p { + background-color: #1c1c1c; + border-radius: 5px; + padding: 13px; + color: #ccc; + border-top: 1px solid #000; + border-bottom: 1px solid #404040 +} + +@media (max-width:930px) { + .tocify-wrapper { + left: -230px + } + .tocify-wrapper.open { + left: 0 + } + .page-wrapper { + margin-left: 0 + } + #nav-button { + display: block + } + .tocify-wrapper .tocify-item>a { + padding-top: .3em; + padding-bottom: .3em + } +} + +@media (max-width:700px) { + .dark-box { + display: none + } + .tocify-wrapper .lang-selector { + display: block + } + .page-wrapper .lang-selector { + display: none + } + .content>aside, + .content>details, + .content>dl, + .content>h1, + .content>h2, + .content>h3, + .content>h4, + .content>h5, + .content>h6, + .content>ol, + .content>p, + .content>table, + .content>ul, + .content>div, + .content>form>aside, + .content>form>details, + .content>form>h1, + .content>form>h2, + .content>form>h3, + .content>form>h4, + .content>form>h5, + .content>form>h6, + .content>form>p, + .content>form>table, + .content>form>ul, + .content>form>div { + margin-right: 0; + } + .content blockquote, + .content pre { + float: none; + width: auto + } + .content .annotation { + float: none; + width: auto + } +} + +.badge { + padding: 1px 9px 2px; + white-space: nowrap; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; + color: #ffffff; + text-shadow: none !important; + font-weight: bold; +} + +.badge.badge-darkred { + background-color: darkred; +} + +.badge.badge-red { + background-color: red; +} + +.badge.badge-blue { + background-color: blue; +} + +.badge.badge-darkblue { + background-color: darkblue; +} + +.badge.badge-green { + background-color: green; +} + +.badge.badge-darkgreen { + background-color: darkgreen; +} + +.badge.badge-purple { + background-color: purple; +} + +.badge.badge-black { + background-color: black; +} + +.badge.badge-grey { + background-color: grey; +} + +.fancy-heading-panel { + background-color: lightgrey; + border-radius: 5px; + padding-left: 5px !important; + padding-top: 5px !important; + padding-bottom: 5px !important; + margin-left: 25px; + margin-right: 10px; + width: 47%; +} + +@media screen and (max-width: 700px) { + .fancy-heading-panel { + width: 95%; + } + +} + +button { + border: none; +} + +* { + /* Foreground, Background */ + scrollbar-color: #3c4c67 transparent; +} +*::-webkit-scrollbar { /* Background */ + width: 10px; + height: 10px; + background: transparent; +} + +*::-webkit-scrollbar-thumb { /* Foreground */ + background: #626161; +} diff --git a/Backend/api/documentation/images/navbar.png b/Backend/api/documentation/images/navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..df38e90d87e1a215371b4977e18cde90f8832537 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk@BpAX3RW*PVQ%R6tFatx` + + + + + + Kebab Api + + + + + + + + + + + + + + + + + + + + + + + + + + + MENU + navbar-image + + +
+ +
+ + + +
+ + + +
+ + + +
+ + + + +
+ +
+
+
+

Introduction

+ +

This documentation aims to provide all the information you need to work with our API.

+ + +

Authenticating requests

+

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

+

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

+

You can retrieve your token by visiting your dashboard and clicking Generate API token.

+ +

Endpoints

+ + + +

POST api/register

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/register" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"name\": \"est\",
+    \"email\": \"igibson@example.com\",
+    \"password\": \"corporis\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/register"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "name": "est",
+    "email": "igibson@example.com",
+    "password": "corporis"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/register';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'name' => 'est',
+            'email' => 'igibson@example.com',
+            'password' => 'corporis',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/register +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ name   +string  +   + +
+

Example: est

+
+
+ email   +string  +   + +
+

Must be a valid email address. Example: igibson@example.com

+
+
+ password   +string  +   + +
+

Example: corporis

+
+
+ +

POST api/login

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/login" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"email\": \"kirlin.tara@example.com\",
+    \"password\": \"expedita\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/login"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "email": "kirlin.tara@example.com",
+    "password": "expedita"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/login';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'email' => 'kirlin.tara@example.com',
+            'password' => 'expedita',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/login +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ email   +string  +   + +
+

Must be a valid email address. The email of an existing record in the users table. Example: kirlin.tara@example.com

+
+
+ password   +string  +   + +
+

Example: expedita

+
+
+ +

GET api/kebabs

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "api/documentation/api/kebabs" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/kebabs could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/kebabs +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

GET api/scrape-reviews

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "api/documentation/api/scrape-reviews" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/scrape-reviews"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/scrape-reviews';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/scrape-reviews could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/scrape-reviews +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

POST api/logout

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/logout" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/logout"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/logout';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/logout +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

GET api/getCurrentUser

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "api/documentation/api/getCurrentUser" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/getCurrentUser"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/getCurrentUser';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/getCurrentUser could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/getCurrentUser +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

GET api/fav/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "api/documentation/api/fav/iste" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/fav/iste"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/fav/iste';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/fav/iste could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/fav/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the fav. Example: iste

+
+
+ +

POST api/addfav

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/addfav" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"user_id\": \"voluptatem\",
+    \"kebab_id\": \"ullam\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/addfav"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "user_id": "voluptatem",
+    "kebab_id": "ullam"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/addfav';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'user_id' => 'voluptatem',
+            'kebab_id' => 'ullam',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/addfav +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ user_id   +string  +   + +
+

Example: voluptatem

+
+
+ kebab_id   +string  +   + +
+

Example: ullam

+
+
+ +

POST api/remfav

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/remfav" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"user_id\": \"eum\",
+    \"kebab_id\": \"dicta\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/remfav"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "user_id": "eum",
+    "kebab_id": "dicta"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/remfav';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'user_id' => 'eum',
+            'kebab_id' => 'dicta',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/remfav +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ user_id   +string  +   + +
+

Example: eum

+
+
+ kebab_id   +string  +   + +
+

Example: dicta

+
+
+ +

PUT api/changeName/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/changeName/id" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"newName\": \"voluptas\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/changeName/id"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "newName": "voluptas"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/changeName/id';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'newName' => 'voluptas',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changeName/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changeName. Example: id

+
+

Body Parameters

+
+ newName   +string  +   + +
+

Example: voluptas

+
+
+ +

PUT api/changePassword/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/changePassword/culpa" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"newPassword\": \"eligendi\",
+    \"confirmPassword\": \"possimus\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/changePassword/culpa"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "newPassword": "eligendi",
+    "confirmPassword": "possimus"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/changePassword/culpa';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'newPassword' => 'eligendi',
+            'confirmPassword' => 'possimus',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changePassword/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changePassword. Example: culpa

+
+

Body Parameters

+
+ newPassword   +string  +   + +
+

Example: eligendi

+
+
+ confirmPassword   +string  +   + +
+

Example: possimus

+
+
+ +

PUT api/changeEmail/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/changeEmail/et" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"newEmail\": \"ervin.kuphal@example.net\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/changeEmail/et"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "newEmail": "ervin.kuphal@example.net"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/changeEmail/et';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'newEmail' => 'ervin.kuphal@example.net',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changeEmail/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changeEmail. Example: et

+
+

Body Parameters

+
+ newEmail   +string  +   + +
+

Must be a valid email address. Example: ervin.kuphal@example.net

+
+
+ +

POST api/suggestions

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/suggestions" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"user\": \"bghrjiaodyjq\",
+    \"contents\": \"vyjf\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/suggestions"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "user": "bghrjiaodyjq",
+    "contents": "vyjf"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/suggestions';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'user' => 'bghrjiaodyjq',
+            'contents' => 'vyjf',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/suggestions +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ user   +string  +   + +
+

Must not be greater than 255 characters. Example: bghrjiaodyjq

+
+
+ contents   +string  +   + +
+

Must not be greater than 255 characters. Example: vyjf

+
+
+ +

POST api/kebabs/{kebabId}/comments

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/kebabs/reprehenderit/comments" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"id_user\": 20,
+    \"comment\": \"aliquam\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/reprehenderit/comments"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "id_user": 20,
+    "comment": "aliquam"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/reprehenderit/comments';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'id_user' => 20,
+            'comment' => 'aliquam',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/comments +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: reprehenderit

+
+

Body Parameters

+
+ id_user   +integer  +   + +
+

Example: 20

+
+
+ comment   +string  +   + +
+

Example: aliquam

+
+
+ +

DELETE api/kebabs/{kebabId}/comments

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/rerum/comments" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"id_user\": 12,
+    \"comment\": \"inventore\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/rerum/comments"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "id_user": 12,
+    "comment": "inventore"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/rerum/comments';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'id_user' => 12,
+            'comment' => 'inventore',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/comments +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: rerum

+
+

Body Parameters

+
+ id_user   +integer  +   + +
+

Example: 12

+
+
+ comment   +string  +   + +
+

Example: inventore

+
+
+ +

PUT api/changeUserRole/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/changeUserRole/nesciunt" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"isAdmin\": true
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/changeUserRole/nesciunt"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "isAdmin": true
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/changeUserRole/nesciunt';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'isAdmin' => true,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changeUserRole/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changeUserRole. Example: nesciunt

+
+

Body Parameters

+
+ isAdmin   +boolean  +   + + +
+

Example: true

+
+
+ +

DELETE api/deleteUser/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/deleteUser/minima" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/deleteUser/minima"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/deleteUser/minima';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/deleteUser/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the deleteUser. Example: minima

+
+
+ +

GET api/getAllUsers

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "api/documentation/api/getAllUsers" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/getAllUsers"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/getAllUsers';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/getAllUsers could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/getAllUsers +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

POST api/addNewUser

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/addNewUser" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"name\": \"eveniet\",
+    \"email\": \"tyrique37@example.org\",
+    \"password\": \"qui\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/addNewUser"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "name": "eveniet",
+    "email": "tyrique37@example.org",
+    "password": "qui"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/addNewUser';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'name' => 'eveniet',
+            'email' => 'tyrique37@example.org',
+            'password' => 'qui',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/addNewUser +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ name   +string  +   + +
+

Example: eveniet

+
+
+ email   +string  +   + +
+

Must be a valid email address. Example: tyrique37@example.org

+
+
+ password   +string  +   + +
+

Example: qui

+
+
+ +

POST api/addKebab

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/addKebab" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"logo\": \"quis\",
+    \"name\": \"qui\",
+    \"address\": \"dicta\",
+    \"coordinates\": \"porro\",
+    \"sauces\": \"impedit\",
+    \"meats\": \"dolorem\",
+    \"status\": \"rem\",
+    \"opening_hours\": \"eligendi\",
+    \"opening_year\": \"eveniet\",
+    \"closing_year\": \"omnis\",
+    \"is_crafted\": \"molestias\",
+    \"is_premises\": \"excepturi\",
+    \"is_chainstore\": \"iste\",
+    \"ordering_options\": \"nam\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/addKebab"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "logo": "quis",
+    "name": "qui",
+    "address": "dicta",
+    "coordinates": "porro",
+    "sauces": "impedit",
+    "meats": "dolorem",
+    "status": "rem",
+    "opening_hours": "eligendi",
+    "opening_year": "eveniet",
+    "closing_year": "omnis",
+    "is_crafted": "molestias",
+    "is_premises": "excepturi",
+    "is_chainstore": "iste",
+    "ordering_options": "nam"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/addKebab';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'logo' => 'quis',
+            'name' => 'qui',
+            'address' => 'dicta',
+            'coordinates' => 'porro',
+            'sauces' => 'impedit',
+            'meats' => 'dolorem',
+            'status' => 'rem',
+            'opening_hours' => 'eligendi',
+            'opening_year' => 'eveniet',
+            'closing_year' => 'omnis',
+            'is_crafted' => 'molestias',
+            'is_premises' => 'excepturi',
+            'is_chainstore' => 'iste',
+            'ordering_options' => 'nam',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/addKebab +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ logo   +string  +   + +
+

Example: quis

+
+
+ name   +string  +   + +
+

Example: qui

+
+
+ address   +string  +   + +
+

Example: dicta

+
+
+ coordinates   +string  +   + +
+

Example: porro

+
+
+ sauces   +string  +   + +
+

Example: impedit

+
+
+ meats   +string  +   + +
+

Example: dolorem

+
+
+ status   +string  +   + +
+

Example: rem

+
+
+ opening_hours   +string  +   + +
+

Example: eligendi

+
+
+ opening_year   +string  +   + +
+

Example: eveniet

+
+
+ closing_year   +string  +   + +
+

Example: omnis

+
+
+ is_crafted   +string  +   + +
+

Example: molestias

+
+
+ is_premises   +string  +   + +
+

Example: excepturi

+
+
+ is_chainstore   +string  +   + +
+

Example: iste

+
+
+ ordering_options   +string  +   + +
+

Example: nam

+
+
+ +

DELETE api/kebabs/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/architecto" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/architecto"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/architecto';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the kebab. Example: architecto

+
+
+ + + +

+

+ + + + + + + + + + +

PUT api/kebabs/{kebabId}/name

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/minima/name" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"name\": \"molestiae\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/minima/name"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "name": "molestiae"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/minima/name';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'name' => 'molestiae',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/name +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: minima

+
+

Body Parameters

+
+ name   +string  +   + +
+

Example: molestiae

+
+
+ +

PUT api/kebabs/{kebabId}/address

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/aut/address" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"address\": \"hasoytxcdkunpxsulsofhjcbd\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/aut/address"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "address": "hasoytxcdkunpxsulsofhjcbd"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/aut/address';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'address' => 'hasoytxcdkunpxsulsofhjcbd',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/address +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: aut

+
+

Body Parameters

+
+ address   +string  +   + +
+

Must not be greater than 255 characters. Example: hasoytxcdkunpxsulsofhjcbd

+
+
+ +

PUT api/kebabs/{kebabId}/coordinates

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/autem/coordinates" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"coordinates\": []
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/autem/coordinates"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "coordinates": []
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/autem/coordinates';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'coordinates' => [],
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/coordinates +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: autem

+
+

Body Parameters

+
+ coordinates   +object  +   + +
+ +
+
+ +

POST api/kebabs/{kebabId}/sauce

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/kebabs/accusamus/sauce" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"sauce\": \"nulla\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/accusamus/sauce"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "sauce": "nulla"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/accusamus/sauce';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'sauce' => 'nulla',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/sauce +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: accusamus

+
+

Body Parameters

+
+ sauce   +string  +   + +
+

Example: nulla

+
+
+ +

DELETE api/kebabs/{kebabId}/sauce

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/officia/sauce" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"sauce\": \"est\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/officia/sauce"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "sauce": "est"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/officia/sauce';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'sauce' => 'est',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/sauce +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: officia

+
+

Body Parameters

+
+ sauce   +string  +   + +
+

Example: est

+
+
+ +

POST api/kebabs/{kebabId}/meat

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/kebabs/et/meat" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"meat\": \"voluptates\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/et/meat"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "meat": "voluptates"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/et/meat';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'meat' => 'voluptates',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/meat +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: et

+
+

Body Parameters

+
+ meat   +string  +   + +
+

Example: voluptates

+
+
+ +

DELETE api/kebabs/{kebabId}/meat

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/et/meat" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"meat\": \"suscipit\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/et/meat"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "meat": "suscipit"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/et/meat';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'meat' => 'suscipit',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/meat +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: et

+
+

Body Parameters

+
+ meat   +string  +   + +
+

Example: suscipit

+
+
+ +

PUT api/kebabs/{kebabId}/status

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/doloribus/status" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"status\": \"exists\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/doloribus/status"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "status": "exists"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/doloribus/status';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'status' => 'exists',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/status +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: doloribus

+
+

Body Parameters

+
+ status   +string  +   + +
+

Example: exists

+Must be one of: +
  • exists
  • closed
  • planned
+
+
+ +

POST api/kebabs/{kebabId}/opening-hours

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/kebabs/quam/opening-hours" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"day\": \"saturday\",
+    \"hours\": \"recusandae\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/quam/opening-hours"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "day": "saturday",
+    "hours": "recusandae"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/quam/opening-hours';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'day' => 'saturday',
+            'hours' => 'recusandae',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/opening-hours +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: quam

+
+

Body Parameters

+
+ day   +string  +   + +
+

Example: saturday

+Must be one of: +
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
+
+
+ hours   +string  +   + +
+

Example: recusandae

+
+
+ +

DELETE api/kebabs/{kebabId}/opening-hours

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/enim/opening-hours" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"day\": \"wednesday\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/enim/opening-hours"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "day": "wednesday"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/enim/opening-hours';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'day' => 'wednesday',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/opening-hours +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: enim

+
+

Body Parameters

+
+ day   +string  +   + +
+

Example: wednesday

+Must be one of: +
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
+
+
+ +

PUT api/kebabs/{kebabId}/opening-hours

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/maxime/opening-hours" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"day\": \"friday\",
+    \"hours\": \"vel\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/maxime/opening-hours"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "day": "friday",
+    "hours": "vel"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/maxime/opening-hours';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'day' => 'friday',
+            'hours' => 'vel',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/opening-hours +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: maxime

+
+

Body Parameters

+
+ day   +string  +   + +
+

Example: friday

+Must be one of: +
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
+
+
+ hours   +string  +   + +
+

Example: vel

+
+
+ +

PUT api/kebabs/{kebabId}/opening-year

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/necessitatibus/opening-year" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"opening_year\": \"1897\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/necessitatibus/opening-year"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "opening_year": "1897"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/necessitatibus/opening-year';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'opening_year' => '1897',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/opening-year +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: necessitatibus

+
+

Body Parameters

+
+ opening_year   +string  +optional   + +
+

Must be 4 digits. Example: 1897

+
+
+ +

PUT api/kebabs/{kebabId}/closing-year

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/velit/closing-year" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"closing_year\": \"8861\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/velit/closing-year"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "closing_year": "8861"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/velit/closing-year';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'closing_year' => '8861',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/closing-year +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: velit

+
+

Body Parameters

+
+ closing_year   +string  +optional   + +
+

Must be 4 digits. Example: 8861

+
+
+ +

PUT api/kebabs/{kebabId}/is-crafted

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/dicta/is-crafted" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"is_crafted\": true
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/dicta/is-crafted"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "is_crafted": true
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/dicta/is-crafted';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'is_crafted' => true,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/is-crafted +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: dicta

+
+

Body Parameters

+
+ is_crafted   +boolean  +optional   + + +
+

Example: true

+
+
+ +

PUT api/kebabs/{kebabId}/is-premises

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/neque/is-premises" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"is_premises\": false
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/neque/is-premises"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "is_premises": false
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/neque/is-premises';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'is_premises' => false,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/is-premises +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: neque

+
+

Body Parameters

+
+ is_premises   +boolean  +optional   + + +
+

Example: false

+
+
+ +

PUT api/kebabs/{kebabId}/is-chainstore

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "api/documentation/api/kebabs/corporis/is-chainstore" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"is_chainstore\": false
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/corporis/is-chainstore"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "is_chainstore": false
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/corporis/is-chainstore';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'is_chainstore' => false,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/is-chainstore +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: corporis

+
+

Body Parameters

+
+ is_chainstore   +boolean  +optional   + + +
+

Example: false

+
+
+ +

POST api/kebabs/{kebabId}/ordering-options

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/kebabs/eum/ordering-options" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"new_option\": \"distinctio\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/eum/ordering-options"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "new_option": "distinctio"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/eum/ordering-options';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'new_option' => 'distinctio',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/ordering-options +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: eum

+
+

Body Parameters

+
+ new_option   +string  +   + +
+

Example: distinctio

+
+
+ +

DELETE api/kebabs/{kebabId}/ordering-options

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/tenetur/ordering-options" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"option_to_remove\": \"eaque\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/tenetur/ordering-options"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "option_to_remove": "eaque"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/tenetur/ordering-options';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'option_to_remove' => 'eaque',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/ordering-options +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: tenetur

+
+

Body Parameters

+
+ option_to_remove   +string  +   + +
+

Example: eaque

+
+
+ +

POST api/kebabs/{kebabId}/pages

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "api/documentation/api/kebabs/id/pages" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"new_page\": \"voluptates\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/id/pages"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "new_page": "voluptates"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/id/pages';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'new_page' => 'voluptates',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/pages +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: id

+
+

Body Parameters

+
+ new_page   +string  +   + +
+

Example: voluptates

+
+
+ +

DELETE api/kebabs/{kebabId}/pages

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/kebabs/iusto/pages" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"page_to_remove\": \"quaerat\"
+}"
+
+ + +
+
const url = new URL(
+    "api/documentation/api/kebabs/iusto/pages"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "page_to_remove": "quaerat"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/kebabs/iusto/pages';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'page_to_remove' => 'quaerat',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/pages +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: iusto

+
+

Body Parameters

+
+ page_to_remove   +string  +   + +
+

Example: quaerat

+
+
+ +

GET api/suggestions

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "api/documentation/api/suggestions" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/suggestions"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/suggestions';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/suggestions could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/suggestions +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

DELETE api/suggestions/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "api/documentation/api/suggestions/non" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "api/documentation/api/suggestions/non"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'api/documentation/api/suggestions/non';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/suggestions/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the suggestion. Example: non

+
+
+ + + + +
+
+
+ + + +
+
+
+ + diff --git a/Backend/api/documentation/js/theme-default-4.39.0.js b/Backend/api/documentation/js/theme-default-4.39.0.js new file mode 100644 index 0000000..31c8451 --- /dev/null +++ b/Backend/api/documentation/js/theme-default-4.39.0.js @@ -0,0 +1,149 @@ +document.addEventListener('DOMContentLoaded', function() { + const updateHash = function (id) { + window.location.hash = `#${id}`; + }; + + const navButton = document.getElementById('nav-button'); + const menuWrapper = document.querySelector('.tocify-wrapper'); + function toggleSidebar(event) { + event.preventDefault(); + if (menuWrapper) { + menuWrapper.classList.toggle('open'); + navButton.classList.toggle('open'); + } + } + function closeSidebar() { + if (menuWrapper) { + menuWrapper.classList.remove('open'); + navButton.classList.remove('open'); + } + } + navButton.addEventListener('click', toggleSidebar); + + window.hljs.highlightAll(); + + const wrapper = document.getElementById('toc'); + // https://jets.js.org/ + window.jets = new window.Jets({ + // *OR - Selects elements whose values contains at least one part of search substring + searchSelector: '*OR', + searchTag: '#input-search', + contentTag: '#toc li', + didSearch: function(term) { + wrapper.classList.toggle('jets-searching', String(term).length > 0) + }, + // map these accent keys to plain values + diacriticsMap: { + a: 'ÀÁÂÃÄÅàáâãäåĀāąĄ', + c: 'ÇçćĆčČ', + d: 'đĐďĎ', + e: 'ÈÉÊËèéêëěĚĒēęĘ', + i: 'ÌÍÎÏìíîïĪī', + l: 'łŁ', + n: 'ÑñňŇńŃ', + o: 'ÒÓÔÕÕÖØòóôõöøŌō', + r: 'řŘ', + s: 'ŠšśŚ', + t: 'ťŤ', + u: 'ÙÚÛÜùúûüůŮŪū', + y: 'ŸÿýÝ', + z: 'ŽžżŻźŹ' + } + }); + + function hashChange() { + const currentItems = document.querySelectorAll('.tocify-subheader.visible, .tocify-item.tocify-focus'); + Array.from(currentItems).forEach((elem) => { + elem.classList.remove('visible', 'tocify-focus'); + }); + + const currentTag = document.querySelector(`a[href="${window.location.hash}"]`); + if (currentTag) { + const parent = currentTag.closest('.tocify-subheader'); + if (parent) { + parent.classList.add('visible'); + } + + const siblings = currentTag.closest('.tocify-header'); + if (siblings) { + Array.from(siblings.querySelectorAll('.tocify-subheader')).forEach((elem) => { + elem.classList.add('visible'); + }); + } + + currentTag.parentElement.classList.add('tocify-focus'); + + // wait for dom changes to be done + setTimeout(() => { + currentTag.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' }); + // only close the sidebar on level-2 events + if (currentTag.parentElement.classList.contains('level-2')) { + closeSidebar(); + } + }, 1500); + } + } + + let languages = JSON.parse(document.body.getAttribute('data-languages')); + // Support a key => value object where the key is the name, or an array of strings where the value is the name + if (!Array.isArray(languages)) { + languages = Object.values(languages); + } + // if there is no language use the first one + const currentLanguage = window.localStorage.getItem('language') || languages[0]; + const languageStyle = document.getElementById('language-style'); + const langSelector = document.querySelectorAll('.lang-selector button.lang-button'); + + function setActiveLanguage(newLanguage) { + window.localStorage.setItem('language', newLanguage); + if (!languageStyle) { + return; + } + + const newStyle = languages.map((language) => { + return language === newLanguage + // the current one should be visible + ? `body .content .${language}-example pre { display: block; }` + // the inactive one should be hidden + : `body .content .${language}-example pre { display: none; }`; + }).join(`\n`); + + Array.from(langSelector).forEach((elem) => { + elem.classList.toggle('active', elem.getAttribute('data-language-name') === newLanguage); + }); + + const activeHash = window.location.hash.slice(1); + + languageStyle.innerHTML = newStyle; + + setTimeout(() => { + updateHash(activeHash); + }, 200); + } + + setActiveLanguage(currentLanguage); + + Array.from(langSelector).forEach((elem) => { + elem.addEventListener('click', () => { + const newLanguage = elem.getAttribute('data-language-name'); + setActiveLanguage(newLanguage); + }); + }); + + window.addEventListener('hashchange', hashChange, false); + + const divs = document.querySelectorAll('.content h1[id], .content h2[id]'); + + document.addEventListener('scroll', () => { + divs.forEach(item => { + const rect = item.getBoundingClientRect(); + if (rect.top > 0 && rect.top < 150) { + const location = window.location.toString().split('#')[0]; + history.replaceState(null, null, location + '#' + item.id); + hashChange(); + } + }); + }); + + hashChange(); +}); diff --git a/Backend/api/documentation/js/tryitout-4.39.0.js b/Backend/api/documentation/js/tryitout-4.39.0.js new file mode 100644 index 0000000..2a1d2b8 --- /dev/null +++ b/Backend/api/documentation/js/tryitout-4.39.0.js @@ -0,0 +1,289 @@ +window.abortControllers = {}; + +function cacheAuthValue() { + // Whenever the auth header is set for one endpoint, cache it for the others + window.lastAuthValue = ''; + let authInputs = document.querySelectorAll(`.auth-value`) + authInputs.forEach(el => { + el.addEventListener('input', (event) => { + window.lastAuthValue = event.target.value; + authInputs.forEach(otherInput => { + if (otherInput === el) return; + // Don't block the main thread + setTimeout(() => { + otherInput.value = window.lastAuthValue; + }, 0); + }); + }); + }); +} + +window.addEventListener('DOMContentLoaded', cacheAuthValue); + +function getCookie(name) { + if (!document.cookie) { + return null; + } + + const cookies = document.cookie.split(';') + .map(c => c.trim()) + .filter(c => c.startsWith(name + '=')); + + if (cookies.length === 0) { + return null; + } + + return decodeURIComponent(cookies[0].split('=')[1]); +} + +function tryItOut(endpointId) { + document.querySelector(`#btn-tryout-${endpointId}`).hidden = true; + document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = false; + const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`).hidden = false; + executeBtn.disabled = false; + + // Show all input fields + document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`) + .forEach(el => el.style.display = 'block'); + + if (document.querySelector(`#form-${endpointId}`).dataset.authed === "1") { + const authElement = document.querySelector(`#auth-${endpointId}`); + authElement && (authElement.hidden = false); + } + // Expand all nested fields + document.querySelectorAll(`#form-${endpointId} details`) + .forEach(el => el.open = true); +} + +function cancelTryOut(endpointId) { + if (window.abortControllers[endpointId]) { + window.abortControllers[endpointId].abort(); + delete window.abortControllers[endpointId]; + } + + document.querySelector(`#btn-tryout-${endpointId}`).hidden = false; + const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`); + executeBtn.hidden = true; + executeBtn.textContent = executeBtn.dataset.initialText; + document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = true; + // Hide inputs + document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`) + .forEach(el => el.style.display = 'none'); + document.querySelectorAll(`#form-${endpointId} details`) + .forEach(el => el.open = false); + const authElement = document.querySelector(`#auth-${endpointId}`); + authElement && (authElement.hidden = true); + + document.querySelector('#execution-results-' + endpointId).hidden = true; + document.querySelector('#execution-error-' + endpointId).hidden = true; + + // Revert to sample code blocks + document.querySelector('#example-requests-' + endpointId).hidden = false; + document.querySelector('#example-responses-' + endpointId).hidden = false; +} + +function makeAPICall(method, path, body = {}, query = {}, headers = {}, endpointId = null) { + console.log({endpointId, path, body, query, headers}); + + if (!(body instanceof FormData) && typeof body !== "string") { + body = JSON.stringify(body) + } + + const url = new URL(window.tryItOutBaseUrl + '/' + path.replace(/^\//, '')); + + // We need this function because if you try to set an array or object directly to a URLSearchParams object, + // you'll get [object Object] or the array.toString() + function addItemToSearchParamsObject(key, value, searchParams) { + if (Array.isArray(value)) { + value.forEach((v, i) => { + // Append {filters: [first, second]} as filters[0]=first&filters[1]second + addItemToSearchParamsObject(key + '[' + i + ']', v, searchParams); + }) + } else if (typeof value === 'object' && value !== null) { + Object.keys(value).forEach((i) => { + // Append {filters: {name: first}} as filters[name]=first + addItemToSearchParamsObject(key + '[' + i + ']', value[i], searchParams); + }); + } else { + searchParams.append(key, value); + } + } + + Object.keys(query) + .forEach(key => addItemToSearchParamsObject(key, query[key], url.searchParams)); + + window.abortControllers[endpointId] = new AbortController(); + + return fetch(url, { + method, + headers, + body: method === 'GET' ? undefined : body, + signal: window.abortControllers[endpointId].signal, + referrer: window.tryItOutBaseUrl, + mode: 'cors', + credentials: 'same-origin', + }) + .then(response => Promise.all([response.status, response.statusText, response.text(), response.headers])); +} + +function hideCodeSamples(endpointId) { + document.querySelector('#example-requests-' + endpointId).hidden = true; + document.querySelector('#example-responses-' + endpointId).hidden = true; +} + +function handleResponse(endpointId, response, status, headers) { + hideCodeSamples(endpointId); + + // Hide error views + document.querySelector('#execution-error-' + endpointId).hidden = true; + + const responseContentEl = document.querySelector('#execution-response-content-' + endpointId); + + // Check if the response contains Laravel's dd() default dump output + const isLaravelDump = response.includes('Sfdump'); + + // If it's a Laravel dd() dump, use innerHTML to render it safely + if (isLaravelDump) { + responseContentEl.innerHTML = response === '' ? responseContentEl.dataset.emptyResponseText : response; + } else { + // Otherwise, stick to textContent for regular responses + responseContentEl.textContent = response === '' ? responseContentEl.dataset.emptyResponseText : response; + } + + // Prettify it if it's JSON + let isJson = false; + try { + const jsonParsed = JSON.parse(response); + if (jsonParsed !== null) { + isJson = true; + response = JSON.stringify(jsonParsed, null, 4); + responseContentEl.textContent = response; + } + } catch (e) { + + } + + isJson && window.hljs.highlightElement(responseContentEl); + const statusEl = document.querySelector('#execution-response-status-' + endpointId); + statusEl.textContent = ` (${status})`; + document.querySelector('#execution-results-' + endpointId).hidden = false; + statusEl.scrollIntoView({behavior: "smooth", block: "center"}); +} + +function handleError(endpointId, err) { + hideCodeSamples(endpointId); + // Hide response views + document.querySelector('#execution-results-' + endpointId).hidden = true; + + // Show error views + let errorMessage = err.message || err; + const $errorMessageEl = document.querySelector('#execution-error-message-' + endpointId); + $errorMessageEl.textContent = errorMessage + $errorMessageEl.textContent; + const errorEl = document.querySelector('#execution-error-' + endpointId); + errorEl.hidden = false; + errorEl.scrollIntoView({behavior: "smooth", block: "center"}); + +} + +async function executeTryOut(endpointId, form) { + const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`); + executeBtn.textContent = executeBtn.dataset.loadingText; + executeBtn.disabled = true; + executeBtn.scrollIntoView({behavior: "smooth", block: "center"}); + + let body; + let setter; + if (form.dataset.hasfiles === "1") { + body = new FormData(); + setter = (name, value) => body.append(name, value); + } else if (form.dataset.isarraybody === "1") { + body = []; + setter = (name, value) => _.set(body, name, value); + } else { + body = {}; + setter = (name, value) => _.set(body, name, value); + } + const bodyParameters = form.querySelectorAll('input[data-component=body]'); + bodyParameters.forEach(el => { + let value = el.value; + + if (el.type === 'number' && typeof value === 'string') { + value = parseFloat(value); + } + + if (el.type === 'file' && el.files[0]) { + setter(el.name, el.files[0]); + return; + } + + if (el.type !== 'radio') { + if (value === "" && el.required === false) { + // Don't include empty optional values in the request + return; + } + setter(el.name, value); + return; + } + + if (el.checked) { + value = (value === 'false') ? false : true; + setter(el.name, value); + } + }); + + const query = {}; + const queryParameters = form.querySelectorAll('input[data-component=query]'); + queryParameters.forEach(el => { + if (el.type !== 'radio' || (el.type === 'radio' && el.checked)) { + if (el.value === '') { + // Don't include empty values in the request + return; + } + + _.set(query, el.name, el.value); + } + }); + + let path = form.dataset.path; + const urlParameters = form.querySelectorAll('input[data-component=url]'); + urlParameters.forEach(el => (path = path.replace(new RegExp(`\\{${el.name}\\??}`), el.value))); + + const headers = Object.fromEntries(Array.from(form.querySelectorAll('input[data-component=header]')) + .map(el => [el.name, el.value])); + + // When using FormData, the browser sets the correct content-type + boundary + let method = form.dataset.method; + if (body instanceof FormData) { + delete headers['Content-Type']; + + // When using FormData with PUT or PATCH, use method spoofing so PHP can access the post body + if (['PUT', 'PATCH'].includes(form.dataset.method)) { + method = 'POST'; + setter('_method', form.dataset.method); + } + } + + let preflightPromise = Promise.resolve(); + if (window.useCsrf && window.csrfUrl) { + preflightPromise = makeAPICall('GET', window.csrfUrl).then(() => { + headers['X-XSRF-TOKEN'] = getCookie('XSRF-TOKEN'); + }); + } + + return preflightPromise.then(() => makeAPICall(method, path, body, query, headers, endpointId)) + .then(([responseStatus, statusText, responseContent, responseHeaders]) => { + handleResponse(endpointId, responseContent, responseStatus, responseHeaders) + }) + .catch(err => { + if (err.name === "AbortError") { + console.log("Request cancelled"); + return; + } + console.log("Error while making request: ", err); + handleError(endpointId, err); + }) + .finally(() => { + executeBtn.disabled = false; + executeBtn.textContent = executeBtn.dataset.initialText; + }); +} diff --git a/Backend/api/documentation/openapi.yaml b/Backend/api/documentation/openapi.yaml new file mode 100644 index 0000000..cb450fb --- /dev/null +++ b/Backend/api/documentation/openapi.yaml @@ -0,0 +1,1379 @@ +openapi: 3.0.3 +info: + title: 'Kebab Api' + description: '' + version: 1.0.0 +servers: + - + url: api/documentation +paths: + /api/register: + post: + summary: '' + operationId: postApiRegister + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: '' + example: est + nullable: false + email: + type: string + description: 'Must be a valid email address.' + example: igibson@example.com + nullable: false + password: + type: string + description: '' + example: corporis + nullable: false + required: + - name + - email + - password + security: [] + /api/login: + post: + summary: '' + operationId: postApiLogin + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + email: + type: string + description: 'Must be a valid email address. The email of an existing record in the users table.' + example: kirlin.tara@example.com + nullable: false + password: + type: string + description: '' + example: expedita + nullable: false + required: + - email + - password + security: [] + /api/kebabs: + get: + summary: '' + operationId: getApiKebabs + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/kebabs could not be found.' + properties: + message: + type: string + example: 'The route api/kebabs could not be found.' + tags: + - Endpoints + security: [] + /api/scrape-reviews: + get: + summary: '' + operationId: getApiScrapeReviews + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/scrape-reviews could not be found.' + properties: + message: + type: string + example: 'The route api/scrape-reviews could not be found.' + tags: + - Endpoints + security: [] + /api/logout: + post: + summary: '' + operationId: postApiLogout + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + security: [] + /api/getCurrentUser: + get: + summary: '' + operationId: getApiGetCurrentUser + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/getCurrentUser could not be found.' + properties: + message: + type: string + example: 'The route api/getCurrentUser could not be found.' + tags: + - Endpoints + security: [] + '/api/fav/{id}': + get: + summary: '' + operationId: getApiFavId + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/fav/iste could not be found.' + properties: + message: + type: string + example: 'The route api/fav/iste could not be found.' + tags: + - Endpoints + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the fav.' + example: iste + required: true + schema: + type: string + /api/addfav: + post: + summary: '' + operationId: postApiAddfav + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + user_id: + type: string + description: '' + example: voluptatem + nullable: false + kebab_id: + type: string + description: '' + example: ullam + nullable: false + required: + - user_id + - kebab_id + security: [] + /api/remfav: + post: + summary: '' + operationId: postApiRemfav + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + user_id: + type: string + description: '' + example: eum + nullable: false + kebab_id: + type: string + description: '' + example: dicta + nullable: false + required: + - user_id + - kebab_id + security: [] + '/api/changeName/{id}': + put: + summary: '' + operationId: putApiChangeNameId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + newName: + type: string + description: '' + example: voluptas + nullable: false + required: + - newName + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changeName.' + example: id + required: true + schema: + type: string + '/api/changePassword/{id}': + put: + summary: '' + operationId: putApiChangePasswordId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + newPassword: + type: string + description: '' + example: eligendi + nullable: false + confirmPassword: + type: string + description: '' + example: possimus + nullable: false + required: + - newPassword + - confirmPassword + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changePassword.' + example: culpa + required: true + schema: + type: string + '/api/changeEmail/{id}': + put: + summary: '' + operationId: putApiChangeEmailId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + newEmail: + type: string + description: 'Must be a valid email address.' + example: ervin.kuphal@example.net + nullable: false + required: + - newEmail + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changeEmail.' + example: et + required: true + schema: + type: string + /api/suggestions: + post: + summary: '' + operationId: postApiSuggestions + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + user: + type: string + description: 'Must not be greater than 255 characters.' + example: bghrjiaodyjq + nullable: false + contents: + type: string + description: 'Must not be greater than 255 characters.' + example: vyjf + nullable: false + required: + - user + - contents + security: [] + get: + summary: '' + operationId: getApiSuggestions + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/suggestions could not be found.' + properties: + message: + type: string + example: 'The route api/suggestions could not be found.' + tags: + - Endpoints + security: [] + '/api/kebabs/{kebabId}/comments': + post: + summary: '' + operationId: postApiKebabsKebabIdComments + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + id_user: + type: integer + description: '' + example: 20 + nullable: false + comment: + type: string + description: '' + example: aliquam + nullable: false + required: + - id_user + - comment + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdComments + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + id_user: + type: integer + description: '' + example: 12 + nullable: false + comment: + type: string + description: '' + example: inventore + nullable: false + required: + - id_user + - comment + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: reprehenderit + required: true + schema: + type: string + '/api/changeUserRole/{id}': + put: + summary: '' + operationId: putApiChangeUserRoleId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + isAdmin: + type: boolean + description: '' + example: true + nullable: false + required: + - isAdmin + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changeUserRole.' + example: nesciunt + required: true + schema: + type: string + '/api/deleteUser/{id}': + delete: + summary: '' + operationId: deleteApiDeleteUserId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the deleteUser.' + example: minima + required: true + schema: + type: string + /api/getAllUsers: + get: + summary: '' + operationId: getApiGetAllUsers + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/getAllUsers could not be found.' + properties: + message: + type: string + example: 'The route api/getAllUsers could not be found.' + tags: + - Endpoints + security: [] + /api/addNewUser: + post: + summary: '' + operationId: postApiAddNewUser + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: '' + example: eveniet + nullable: false + email: + type: string + description: 'Must be a valid email address.' + example: tyrique37@example.org + nullable: false + password: + type: string + description: '' + example: qui + nullable: false + required: + - name + - email + - password + security: [] + /api/addKebab: + post: + summary: '' + operationId: postApiAddKebab + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + logo: + type: string + description: '' + example: quis + nullable: false + name: + type: string + description: '' + example: qui + nullable: false + address: + type: string + description: '' + example: dicta + nullable: false + coordinates: + type: string + description: '' + example: porro + nullable: false + sauces: + type: string + description: '' + example: impedit + nullable: false + meats: + type: string + description: '' + example: dolorem + nullable: false + status: + type: string + description: '' + example: rem + nullable: false + opening_hours: + type: string + description: '' + example: eligendi + nullable: false + opening_year: + type: string + description: '' + example: eveniet + nullable: false + closing_year: + type: string + description: '' + example: omnis + nullable: false + is_crafted: + type: string + description: '' + example: molestias + nullable: false + is_premises: + type: string + description: '' + example: excepturi + nullable: false + is_chainstore: + type: string + description: '' + example: iste + nullable: false + ordering_options: + type: string + description: '' + example: nam + nullable: false + required: + - logo + - name + - address + - coordinates + - sauces + - meats + - status + - opening_hours + - opening_year + - closing_year + - is_crafted + - is_premises + - is_chainstore + - ordering_options + security: [] + '/api/kebabs/{id}': + delete: + summary: '' + operationId: deleteApiKebabsId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the kebab.' + example: architecto + required: true + schema: + type: string + '/api/kebabs/{kebabId}/logo': + put: + summary: '' + operationId: putApiKebabsKebabIdLogo + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: necessitatibus + required: true + schema: + type: string + '/api/kebabs/{kebabId}/name': + put: + summary: '' + operationId: putApiKebabsKebabIdName + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: '' + example: molestiae + nullable: false + required: + - name + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: minima + required: true + schema: + type: string + '/api/kebabs/{kebabId}/address': + put: + summary: '' + operationId: putApiKebabsKebabIdAddress + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + address: + type: string + description: 'Must not be greater than 255 characters.' + example: hasoytxcdkunpxsulsofhjcbd + nullable: false + required: + - address + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: aut + required: true + schema: + type: string + '/api/kebabs/{kebabId}/coordinates': + put: + summary: '' + operationId: putApiKebabsKebabIdCoordinates + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + coordinates: + type: object + description: '' + example: [] + nullable: false + properties: { } + required: + - coordinates + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: autem + required: true + schema: + type: string + '/api/kebabs/{kebabId}/sauce': + post: + summary: '' + operationId: postApiKebabsKebabIdSauce + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + sauce: + type: string + description: '' + example: nulla + nullable: false + required: + - sauce + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdSauce + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + sauce: + type: string + description: '' + example: est + nullable: false + required: + - sauce + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: accusamus + required: true + schema: + type: string + '/api/kebabs/{kebabId}/meat': + post: + summary: '' + operationId: postApiKebabsKebabIdMeat + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + meat: + type: string + description: '' + example: voluptates + nullable: false + required: + - meat + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdMeat + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + meat: + type: string + description: '' + example: suscipit + nullable: false + required: + - meat + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: et + required: true + schema: + type: string + '/api/kebabs/{kebabId}/status': + put: + summary: '' + operationId: putApiKebabsKebabIdStatus + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + status: + type: string + description: '' + example: exists + nullable: false + enum: + - exists + - closed + - planned + required: + - status + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: doloribus + required: true + schema: + type: string + '/api/kebabs/{kebabId}/opening-hours': + post: + summary: '' + operationId: postApiKebabsKebabIdOpeningHours + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + day: + type: string + description: '' + example: saturday + nullable: false + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + hours: + type: string + description: '' + example: recusandae + nullable: false + required: + - day + - hours + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdOpeningHours + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + day: + type: string + description: '' + example: wednesday + nullable: false + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - day + security: [] + put: + summary: '' + operationId: putApiKebabsKebabIdOpeningHours + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + day: + type: string + description: '' + example: friday + nullable: false + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + hours: + type: string + description: '' + example: vel + nullable: false + required: + - day + - hours + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: quam + required: true + schema: + type: string + '/api/kebabs/{kebabId}/opening-year': + put: + summary: '' + operationId: putApiKebabsKebabIdOpeningYear + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + opening_year: + type: string + description: 'Must be 4 digits.' + example: '1897' + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: necessitatibus + required: true + schema: + type: string + '/api/kebabs/{kebabId}/closing-year': + put: + summary: '' + operationId: putApiKebabsKebabIdClosingYear + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + closing_year: + type: string + description: 'Must be 4 digits.' + example: '8861' + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: velit + required: true + schema: + type: string + '/api/kebabs/{kebabId}/is-crafted': + put: + summary: '' + operationId: putApiKebabsKebabIdIsCrafted + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + is_crafted: + type: boolean + description: '' + example: true + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: dicta + required: true + schema: + type: string + '/api/kebabs/{kebabId}/is-premises': + put: + summary: '' + operationId: putApiKebabsKebabIdIsPremises + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + is_premises: + type: boolean + description: '' + example: false + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: neque + required: true + schema: + type: string + '/api/kebabs/{kebabId}/is-chainstore': + put: + summary: '' + operationId: putApiKebabsKebabIdIsChainstore + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + is_chainstore: + type: boolean + description: '' + example: false + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: corporis + required: true + schema: + type: string + '/api/kebabs/{kebabId}/ordering-options': + post: + summary: '' + operationId: postApiKebabsKebabIdOrderingOptions + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + new_option: + type: string + description: '' + example: distinctio + nullable: false + required: + - new_option + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdOrderingOptions + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + option_to_remove: + type: string + description: '' + example: eaque + nullable: false + required: + - option_to_remove + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: eum + required: true + schema: + type: string + '/api/kebabs/{kebabId}/pages': + post: + summary: '' + operationId: postApiKebabsKebabIdPages + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + new_page: + type: string + description: '' + example: voluptates + nullable: false + required: + - new_page + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdPages + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + page_to_remove: + type: string + description: '' + example: quaerat + nullable: false + required: + - page_to_remove + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: id + required: true + schema: + type: string + '/api/suggestions/{id}': + delete: + summary: '' + operationId: deleteApiSuggestionsId + description: '' + parameters: [] + responses: { } + tags: + - Endpoints + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the suggestion.' + example: non + required: true + schema: + type: string +tags: + - + name: Endpoints + description: '' +components: + securitySchemes: + default: + type: http + scheme: bearer + description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' +security: + - + default: [] diff --git a/Backend/app/Http/Controllers/AuthController.php b/Backend/app/Http/Controllers/AuthController.php index 86db786..fb48b45 100644 --- a/Backend/app/Http/Controllers/AuthController.php +++ b/Backend/app/Http/Controllers/AuthController.php @@ -10,8 +10,43 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; +/** + * @group Auth + * **/ class AuthController extends Controller { + /** + * @OA\Post( + * path="/api/register", + * tags={"Auth"}, + * summary="Register a new user", + * @OA\RequestBody( + * required=true, + * @OA\MediaType( + * mediaType="application/json", + * @OA\Schema( + * type="object", + * required={"name", "email", "password"}, + * @OA\Property(property="name", type="string", example="John Doe"), + * @OA\Property(property="email", type="string", example="johndoe@example.com"), + * @OA\Property(property="password", type="string", format="password", example="password123") + * ) + * ) + * ), + * @OA\Response( + * response=200, + * description="User registered successfully", + * @OA\JsonContent( + * @OA\Property(property="user", ref="#/components/schemas/User"), + * @OA\Property(property="token", type="string") + * ) + * ), + * @OA\Response( + * response=400, + * description="Invalid input" + * ) + * ) + */ public function register(SignupRequest $request) { $data = $request->validated(); @@ -32,6 +67,37 @@ public function register(SignupRequest $request) return response($res); } + /** + * @OA\Post( + * path="/api/login", + * tags={"Auth"}, + * summary="Login an existing user", + * @OA\RequestBody( + * required=true, + * @OA\MediaType( + * mediaType="application/json", + * @OA\Schema( + * type="object", + * required={"email", "password"}, + * @OA\Property(property="email", type="string", example="johndoe@example.com"), + * @OA\Property(property="password", type="string", format="password", example="password123") + * ) + * ) + * ), + * @OA\Response( + * response=200, + * description="User logged in successfully", + * @OA\JsonContent( + * @OA\Property(property="user", ref="#/components/schemas/User"), + * @OA\Property(property="token", type="string") + * ) + * ), + * @OA\Response( + * response=400, + * description="Invalid credentials" + * ) + * ) + */ public function login(LoginRequest $request) { $credentials = $request->validated(); @@ -52,6 +118,21 @@ public function login(LoginRequest $request) return response($res); } + /** + * @OA\Post( + * path="/api/logout", + * tags={"Auth"}, + * summary="Logout the current user", + * @OA\Response( + * response=204, + * description="Successfully logged out" + * ), + * @OA\Response( + * response=401, + * description="Unauthorized" + * ) + * ) + */ public function logout(Request $request) { /** @var User $user */ diff --git a/Backend/app/Http/Controllers/KebabController.php b/Backend/app/Http/Controllers/KebabController.php index e387272..b9099ee 100644 --- a/Backend/app/Http/Controllers/KebabController.php +++ b/Backend/app/Http/Controllers/KebabController.php @@ -4,11 +4,32 @@ namespace App\Http\Controllers; +use App\Http\Requests\KebabRequests\KebabAddressRequest; +use App\Http\Requests\KebabRequests\KebabClosingYearRequest; +use App\Http\Requests\KebabRequests\KebabCommentRequest; +use App\Http\Requests\KebabRequests\KebabCoordinatesRequest; +use App\Http\Requests\KebabRequests\KebabIsChainstoreRequest; +use App\Http\Requests\KebabRequests\KebabIsCraftedRequest; +use App\Http\Requests\KebabRequests\KebabIsPremisesRequest; +use App\Http\Requests\KebabRequests\KebabMeatRequest; +use App\Http\Requests\KebabRequests\KebabNameRequest; +use App\Http\Requests\KebabRequests\KebabOpeningHourRequest; +use App\Http\Requests\KebabRequests\KebabOpeningYearRequest; +use App\Http\Requests\KebabRequests\KebabOrderingOptionRequest; +use App\Http\Requests\KebabRequests\KebabPageRequest; +use App\Http\Requests\KebabRequests\KebabRemoveOpeningHourRequest; +use App\Http\Requests\KebabRequests\KebabRemoveOrderingOptionRequest; use App\Http\Requests\KebabRequests\KebabRequest; +use App\Http\Requests\KebabRequests\KebabStatusRequest; +use App\Http\Requests\KebabRequests\SauceKebabRequest; use App\Models\Kebab; use Exception; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; +/** + * @group Kebab + * **/ class KebabController extends Controller { public function getAllKebabs() @@ -17,6 +38,26 @@ public function getAllKebabs() $data = Kebab::all()->map(function ($kebab) { $kebab->logo = $kebab->logo ? "data:image/jpeg;base64," . base64_encode($kebab->logo) : null; + if (!is_array($kebab->opening_hours)) { + $kebab->opening_hours = json_decode($kebab->opening_hours, true) ?? []; + } + + if (!is_array($kebab->meats)) { + $kebab->meats = json_decode($kebab->meats, true) ?? []; + } + + if (!is_array($kebab->sauces)) { + $kebab->sauces = json_decode($kebab->sauces, true) ?? []; + } + + if (!is_array($kebab->ordering_options)) { + $kebab->ordering_options = json_decode($kebab->ordering_options, true) ?? []; + } + + if (!is_array($kebab->pages)) { + $kebab->pages = json_decode($kebab->pages, true) ?? []; + } + return $kebab; }); @@ -68,14 +109,20 @@ public function changeKebabLogo(Request $request, $kebabId) try { $kebab = Kebab::findOrFail($kebabId); - if ($request->hasFile("logo")) { - $kebab->logo = file_get_contents($request->file("logo")->path()); + $binaryData = file_get_contents("php://input"); + if ($binaryData) { + $kebab->logo = $binaryData; $kebab->save(); + $logoUrl = url("/storage/kebabs/" . $kebab->id . "/logo.jpg"); + return response()->json([ "message" => "Logo updated successfully.", - "kebab" => $kebab, + "kebab" => [ + "id" => $kebab->id, + "logo_url" => $logoUrl, + ], ], 200); } @@ -83,6 +130,8 @@ public function changeKebabLogo(Request $request, $kebabId) "error" => "No logo file provided.", ], 400); } catch (Exception $e) { + Log::error("Error updating logo: " . $e->getMessage()); + return response()->json([ "error" => "Could not update logo.", "message" => $e->getMessage(), @@ -90,7 +139,7 @@ public function changeKebabLogo(Request $request, $kebabId) } } - public function changeKebabName(Request $request, $kebabId) + public function changeKebabName(KebabNameRequest $request, $kebabId) { $request->validate([ "name" => "required", @@ -115,12 +164,8 @@ public function changeKebabName(Request $request, $kebabId) } } - public function changeKebabAddress(Request $request, $kebabId) + public function changeKebabAddress(KebabAddressRequest $request, $kebabId) { - $request->validate([ - "address" => "required|string|max:255", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -140,12 +185,8 @@ public function changeKebabAddress(Request $request, $kebabId) } } - public function changeKebabCoordinates(Request $request, $kebabId) + public function changeKebabCoordinates(KebabCoordinatesRequest $request, $kebabId) { - $request->validate([ - "coordinates" => "required|array", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -165,16 +206,12 @@ public function changeKebabCoordinates(Request $request, $kebabId) } } - public function addSauceToKebab(Request $request, $kebabId) + public function addSauceToKebab(SauceKebabRequest $request, $kebabId) { - $request->validate([ - "sauce" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - $sauces = json_decode($kebab->sauces, true) ?? []; + $sauces = is_array($kebab->sauces) ? $kebab->sauces : json_decode($kebab->sauces, true) ?? []; if (!in_array($request->input("sauce"), $sauces, true)) { $sauces[] = $request->input("sauce"); @@ -195,16 +232,12 @@ public function addSauceToKebab(Request $request, $kebabId) } } - public function removeSauceFromKebab(Request $request, $kebabId) + public function removeSauceFromKebab(SauceKebabRequest $request, $kebabId) { - $request->validate([ - "sauce" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - $sauces = json_decode($kebab->sauces, true) ?? []; + $sauces = is_array($kebab->sauces) ? $kebab->sauces : json_decode($kebab->sauces, true) ?? []; if (($key = array_search($request->input("sauce"), $sauces, true)) !== false) { unset($sauces[$key]); @@ -225,16 +258,11 @@ public function removeSauceFromKebab(Request $request, $kebabId) } } - public function addMeatToKebab(Request $request, $kebabId) + public function addMeatToKebab(KebabMeatRequest $request, $kebabId) { - $request->validate([ - "meat" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - - $meats = json_decode($kebab->meats, true) ?? []; + $meats = is_array($kebab->meats) ? $kebab->meats : json_decode($kebab->meats, true) ?? []; if (!in_array($request->input("meat"), $meats, true)) { $meats[] = $request->input("meat"); @@ -255,16 +283,12 @@ public function addMeatToKebab(Request $request, $kebabId) } } - public function removeMeatFromKebab(Request $request, $kebabId) + public function removeMeatFromKebab(KebabMeatRequest $request, $kebabId) { - $request->validate([ - "meat" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - $meats = json_decode($kebab->meats, true) ?? []; + $meats = is_array($kebab->meats) ? $kebab->meats : json_decode($kebab->meats, true) ?? []; if (($key = array_search($request->input("meat"), $meats, true)) !== false) { unset($meats[$key]); @@ -285,12 +309,8 @@ public function removeMeatFromKebab(Request $request, $kebabId) } } - public function changeKebabStatus(Request $request, $kebabId) + public function changeKebabStatus(KebabStatusRequest $request, $kebabId) { - $request->validate([ - "status" => "required|in:exists,closed,planned", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -310,17 +330,19 @@ public function changeKebabStatus(Request $request, $kebabId) } } - public function addOpeningHour(Request $request, $kebabId) + public function addOpeningHour(KebabOpeningHourRequest $request, $kebabId) { - $request->validate([ - "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", - "hours" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - - $openingHours = json_decode($kebab->opening_hours, true) ?? []; + $openingHours = []; + + if (is_array($kebab->opening_hours)) { + $openingHours = $kebab->opening_hours; + } else { + if (is_string($kebab->opening_hours)) { + $openingHours = json_decode($kebab->opening_hours, true) ?? []; + } + } $openingHours[$request->input("day")] = $request->input("hours"); @@ -339,22 +361,26 @@ public function addOpeningHour(Request $request, $kebabId) } } - public function removeOpeningHour(Request $request, $kebabId) + public function removeOpeningHour(KebabRemoveOpeningHourRequest $request, $kebabId) { - $request->validate([ - "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - - $openingHours = json_decode($kebab->opening_hours, true) ?? []; + Log::info("Kebab znaleziony:", ["id" => $kebabId]); + $openingHours = []; + + if (is_array($kebab->opening_hours)) { + $openingHours = $kebab->opening_hours; + } else { + if (is_string($kebab->opening_hours)) { + $openingHours = json_decode($kebab->opening_hours, true) ?? []; + } + } if (isset($openingHours[$request->input("day")])) { unset($openingHours[$request->input("day")]); } - $kebab->opening_hours = json_encode($openingHours); + $kebab->opening_hours = $openingHours; $kebab->save(); return response()->json([ @@ -369,13 +395,8 @@ public function removeOpeningHour(Request $request, $kebabId) } } - public function changeOpeningHour(Request $request, $kebabId) + public function changeOpeningHour(KebabOpeningHourRequest $request, $kebabId) { - $request->validate([ - "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", - "hours" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -398,12 +419,8 @@ public function changeOpeningHour(Request $request, $kebabId) } } - public function updateOpeningYear(Request $request, $kebabId) + public function updateOpeningYear(KebabOpeningYearRequest $request, $kebabId) { - $request->validate([ - "opening_year" => "nullable|integer|digits:4", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -423,12 +440,8 @@ public function updateOpeningYear(Request $request, $kebabId) } } - public function updateClosingYear(Request $request, $kebabId) + public function updateClosingYear(KebabClosingYearRequest $request, $kebabId) { - $request->validate([ - "closing_year" => "nullable|integer|digits:4", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -448,12 +461,8 @@ public function updateClosingYear(Request $request, $kebabId) } } - public function updateIsCrafted(Request $request, $kebabId) + public function updateIsCrafted(KebabIsCraftedRequest $request, $kebabId) { - $request->validate([ - "is_crafted" => "nullable|boolean", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -473,12 +482,8 @@ public function updateIsCrafted(Request $request, $kebabId) } } - public function updateIsPremises(Request $request, $kebabId) + public function updateIsPremises(KebabIsPremisesRequest $request, $kebabId) { - $request->validate([ - "is_premises" => "nullable|boolean", - ]); - try { $kebab = Kebab::findOrFail($kebabId); @@ -498,7 +503,7 @@ public function updateIsPremises(Request $request, $kebabId) } } - public function updateIsChainstore(Request $request, $kebabId) + public function updateIsChainstore(KebabIsChainstoreRequest $request, $kebabId) { $request->validate([ "is_chainstore" => "nullable|boolean", @@ -523,19 +528,16 @@ public function updateIsChainstore(Request $request, $kebabId) } } - public function addOrderingOption(Request $request, $kebabId) + public function addOrderingOption(KebabOrderingOptionRequest $request, $kebabId) { - $request->validate([ - "new_option" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - $orderingOptions = $kebab->ordering_options ?? []; - - $orderingOptions[] = $request->input("new_option"); + $orderingOptions = is_array($kebab->ordering_options) ? $kebab->ordering_options : json_decode($kebab->ordering_options, true) ?? []; + if (!in_array($request->input("new_option"), $orderingOptions, true)) { + $orderingOptions[] = $request->input("new_option"); + } $kebab->ordering_options = $orderingOptions; $kebab->save(); @@ -552,20 +554,19 @@ public function addOrderingOption(Request $request, $kebabId) } } - public function removeOrderingOption(Request $request, $kebabId) + public function removeOrderingOption(KebabRemoveOrderingOptionRequest $request, $kebabId) { - $request->validate([ - "option_to_remove" => "required|string", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - $orderingOptions = $kebab->ordering_options ?? []; + $orderingOptions = is_array($kebab->ordering_options) ? $kebab->ordering_options : json_decode($kebab->ordering_options, true) ?? []; - $orderingOptions = array_filter($orderingOptions, fn($option) => $option !== $request->input("option_to_remove")); + if (($key = array_search($request->input("option_to_remove"), $orderingOptions, true)) !== false) { + unset($orderingOptions[$key]); + } + $kebab->ordering_options = $orderingOptions; - $kebab->ordering_options = array_values($orderingOptions); + $kebab->ordering_options = json_encode(array_values($orderingOptions)); $kebab->save(); @@ -581,11 +582,12 @@ public function removeOrderingOption(Request $request, $kebabId) } } - public function addComment(Request $request, $kebabId) + public function addComment(KebabCommentRequest $request, $kebabId) { $request->validate([ "id_user" => "required|integer", "comment" => "required|string", + "user_name" => "required|string", ]); try { @@ -595,6 +597,7 @@ public function addComment(Request $request, $kebabId) $newComment = [ "id_user" => $request->input("id_user"), + "user_name" => $request->input("user_name"), "comment" => $request->input("comment"), ]; @@ -616,13 +619,30 @@ public function addComment(Request $request, $kebabId) } } - public function removeComment(Request $request, $kebabId) + public function GetComments(Request $request, $kebabId) { - $request->validate([ - "id_user" => "required|integer", - "comment" => "required|string", - ]); + try { + $kebab = Kebab::find($kebabId); + + if (!$kebab) { + return response()->json([ + "error" => "Kebab not found.", + ], 404); + } + + $comments = $kebab->comments; + return response()->json($comments); + } catch (Exception $e) { + return response()->json([ + "error" => "An error occurred while fetching kebab comments.", + "message" => $e->getMessage(), + ], 500); + } + } + + public function removeComment(KebabCommentRequest $request, $kebabId) + { try { $kebab = Kebab::findOrFail($kebabId); @@ -646,46 +666,57 @@ public function removeComment(Request $request, $kebabId) } } - public function updateGoogleReviews(Request $request, $kebabId) + public function addPage(KebabPageRequest $request, $kebabId) { - $request->validate([ - "google_reviews" => "nullable|numeric|between:0,99.9", - ]); - try { $kebab = Kebab::findOrFail($kebabId); - $googleReviews = $request->input("google_reviews") !== null ? $request->input("google_reviews") : null; + $page = is_array($kebab->pages) ? $kebab->pages : json_decode($kebab->pages, true) ?? []; - $kebab->google_reviews = $googleReviews; + if (!in_array($request->input("page"), $page, true)) { + $page[] = $request->input("page"); + } + $kebab->pages = $page; $kebab->save(); return response()->json([ - "message" => "Google reviews updated successfully.", - "google_reviews" => $kebab->google_reviews, + "message" => "New page added successfully.", + "pages" => $kebab->pages, ], 200); } catch (Exception $e) { return response()->json([ - "error" => "Could not update Google reviews.", + "error" => "Could not add page.", "message" => $e->getMessage(), ], 500); } } - public function updatePyszneplReviews(Request $request, $kebabId) + public function removePage(KebabPageRequest $request, $kebabId) { - $kebab = Kebab::findOrFail($kebabId); - $kebab->pysznepl_reviews = $request->input("pysznepl_reviews"); - $kebab->save(); + try { + $kebab = Kebab::findOrFail($kebabId); - return response()->json(["message" => "Pyszne.pl reviews updated successfully."]); - } + $page = is_array($kebab->pages) ? $kebab->pages : json_decode($kebab->pages, true) ?? []; - public function getPyszneplReviews($kebabId) - { - $kebab = Kebab::findOrFail($kebabId); + if (($key = array_search($request->input("page"), $page, true)) !== false) { + unset($page[$key]); + } + $kebab->pages = $page; + + $kebab->pages = json_encode(array_values($page)); - return response()->json(["pysznepl_reviews" => $kebab->pysznepl_reviews]); + $kebab->save(); + + return response()->json([ + "message" => "Page removed successfully.", + "pages" => $kebab->pages, + ], 200); + } catch (Exception $e) { + return response()->json([ + "error" => "Could not remove page.", + "message" => $e->getMessage(), + ], 500); + } } } diff --git a/Backend/app/Http/Controllers/KebabScraperController.php b/Backend/app/Http/Controllers/KebabScraperController.php new file mode 100644 index 0000000..ec49a75 --- /dev/null +++ b/Backend/app/Http/Controllers/KebabScraperController.php @@ -0,0 +1,43 @@ +pages, true); + + if (isset($pages["pyszne.pl"])) { + $pyszneLink = $pages["pyszne.pl"]; + + $reviews = $this->scraper->scrapeReviews($pyszneLink); + + $results[] = [ + "kebab_id" => $kebab->id, + "name" => $kebab->name, + "reviews" => $reviews, + ]; + } + } + + return response()->json($results); + } +} diff --git a/Backend/app/Http/Controllers/SuggestionsController.php b/Backend/app/Http/Controllers/SuggestionsController.php index d61ac4c..f9e735e 100644 --- a/Backend/app/Http/Controllers/SuggestionsController.php +++ b/Backend/app/Http/Controllers/SuggestionsController.php @@ -7,15 +7,13 @@ use App\Http\Requests\SuggestionRequest; use App\Models\Suggestions; +/** + * @group Suggestions + * **/ class SuggestionsController extends Controller { public function createSuggestion(SuggestionRequest $request) { - $request->validate([ - "user" => "required|string|max:255", - "contents" => "required|string|max:255", - ]); - $suggestion = Suggestions::create([ "user" => $request->input("user"), "contents" => $request->input("contents"), diff --git a/Backend/app/Http/Controllers/UserController.php b/Backend/app/Http/Controllers/UserController.php index bf7eca8..c88343b 100644 --- a/Backend/app/Http/Controllers/UserController.php +++ b/Backend/app/Http/Controllers/UserController.php @@ -7,12 +7,16 @@ use App\Http\Requests\UserRequests\ChangeEmailRequest; use App\Http\Requests\UserRequests\ChangeNameRequest; use App\Http\Requests\UserRequests\ChangePasswordRequest; +use App\Http\Requests\UserRequests\ChangeUserRoleRequest; use App\Http\Requests\UserRequests\FavoriteKebabRequest; use App\Http\Requests\UserRequests\UserRequest; use App\Models\User; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; +/** + * @group Users + * **/ class UserController extends Controller { public function getCurrentUser() @@ -62,10 +66,6 @@ public function changeName(ChangeNameRequest $request, $id) { $user = User::find($id); - if ($user->name !== $request->oldName) { - return response()->json(["message" => "Old name not match."], 400); - } - $user->update([ "name" => $request->newName, ]); @@ -77,17 +77,9 @@ public function changePassword(ChangePasswordRequest $request, $id) { $user = User::find($id); - if (!Hash::check($request->oldPassword, $user->password)) { - return response()->json(["message" => "Old password not match."], 400); - } - - if ($request->newPassword === $request->confirmPassword) { - $user->update([ - "password" => Hash::make($request->newPassword), - ]); - } else { - return response()->json(["message" => "Incorrect password confirmation."], 400); - } + $user->update([ + "password" => Hash::make($request->newPassword), + ]); return response()->json($user); } @@ -96,17 +88,20 @@ public function changeEmail(ChangeEmailRequest $request, $id) { $user = User::find($id); - if ($user->email !== $request->oldEmail) { - return response()->json(["message" => "Old email not match."], 400); - } + $user->update([ + "email" => $request->newEmail, + ]); - if ($request->newEmail === $request->confirmEmail) { - $user->update([ - "email" => $request->newEmail, - ]); - } else { - return response()->json(["message" => "Invalid email confirmation."], 400); - } + return response()->json($user); + } + + public function changeUserRole(ChangeUserRoleRequest $request, $id) + { + $user = User::find($id); + + $user->isAdmin = $request->isAdmin; + + $user->save(); return response()->json($user); } diff --git a/Backend/app/Http/Requests/KebabRequests/KebabAddressRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabAddressRequest.php new file mode 100644 index 0000000..78502fe --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabAddressRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "address" => "required|string|max:255", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabClosingYearRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabClosingYearRequest.php new file mode 100644 index 0000000..a4f3fde --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabClosingYearRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "closing_year" => "nullable|integer|digits:4", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabCommentRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabCommentRequest.php new file mode 100644 index 0000000..fd9a18e --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabCommentRequest.php @@ -0,0 +1,32 @@ +|string> + */ + public function rules(): array + { + return [ + "id_user" => "required|integer", + "comment" => "required|string", + "user_name" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabCoordinatesRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabCoordinatesRequest.php new file mode 100644 index 0000000..ad49578 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabCoordinatesRequest.php @@ -0,0 +1,32 @@ +|string> + */ + public function rules(): array + { + return [ + "coordinates" => "required|array", + "coordinates.*.lat" => "required|numeric|between:-90,90", + "coordinates.*.lng" => "required|numeric|between:-180,180", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabIsChainstoreRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabIsChainstoreRequest.php new file mode 100644 index 0000000..f585ef7 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabIsChainstoreRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "is_chainstore" => "nullable|boolean", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabIsCraftedRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabIsCraftedRequest.php new file mode 100644 index 0000000..906dc29 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabIsCraftedRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "is_crafted" => "nullable|boolean", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabIsPremisesRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabIsPremisesRequest.php new file mode 100644 index 0000000..5cf1510 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabIsPremisesRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "is_premises" => "nullable|boolean", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabMeatRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabMeatRequest.php new file mode 100644 index 0000000..c516c5b --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabMeatRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "meat" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabNameRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabNameRequest.php new file mode 100644 index 0000000..43821eb --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabNameRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "name" => "required", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabOpeningHourRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabOpeningHourRequest.php new file mode 100644 index 0000000..c73225c --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabOpeningHourRequest.php @@ -0,0 +1,31 @@ +|string> + */ + public function rules(): array + { + return [ + "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", + "hours" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabOpeningYearRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabOpeningYearRequest.php new file mode 100644 index 0000000..a8e8d9d --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabOpeningYearRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "opening_year" => "nullable|integer|digits:4", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabOrderingOptionRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabOrderingOptionRequest.php new file mode 100644 index 0000000..91f0816 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabOrderingOptionRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "new_option" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabPageRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabPageRequest.php new file mode 100644 index 0000000..7481e75 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabPageRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "page" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabRemoveOpeningHourRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabRemoveOpeningHourRequest.php new file mode 100644 index 0000000..b5e6a7a --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabRemoveOpeningHourRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabRemoveOrderingOptionRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabRemoveOrderingOptionRequest.php new file mode 100644 index 0000000..a0d7b93 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabRemoveOrderingOptionRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "option_to_remove" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/KebabRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabRequest.php index 7d1ff35..542e307 100644 --- a/Backend/app/Http/Requests/KebabRequests/KebabRequest.php +++ b/Backend/app/Http/Requests/KebabRequests/KebabRequest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Http\Requests; +namespace App\Http\Requests\KebabRequests; use Illuminate\Foundation\Http\FormRequest; @@ -26,18 +26,23 @@ public function rules(): array return [ "logo" => "required", "name" => "required", - "address" => "required", - "coordinates" => "required", - "sauces" => "required", - "meats" => "required", - "status" => "required", - "opening_hours" => "required", - "opening_year" => "required", - "closing_year" => "required", - "is_crafted" => "required", - "is_premises" => "required", - "is_chainstore" => "required", - "ordering_options" => "required", + "address" => "required|string|max:255", + "coordinates" => "required|array", + "coordinates.*.lat" => "required|numeric|between:-90,90", + "coordinates.*.lng" => "required|numeric|between:-180,180", + "sauce" => "required|string", + "meats" => "required|string", + "status" => "required|in:exists,closed,planned", + "opening_hours" => "required|array", + "opening_hours.*.day" => "required|string|in:monday,tuesday,wednesday,thursday,friday,saturday,sunday", + "opening_hours.*.hours" => "required|string", + "opening_year" => "nullable|integer|digits:4", + "closing_year" => "nullable|integer|digits:4", + "is_crafted" => "required|boolean", + "is_premises" => "required|boolean", + "is_chainstore" => "required|boolean", + "ordering_options" => "required|string", + "page" => "required|string", ]; } } diff --git a/Backend/app/Http/Requests/KebabRequests/KebabStatusRequest.php b/Backend/app/Http/Requests/KebabRequests/KebabStatusRequest.php new file mode 100644 index 0000000..8903031 --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/KebabStatusRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "status" => "required|in:exists,closed,planned", + ]; + } +} diff --git a/Backend/app/Http/Requests/KebabRequests/SauceKebabRequest.php b/Backend/app/Http/Requests/KebabRequests/SauceKebabRequest.php new file mode 100644 index 0000000..4ddd36b --- /dev/null +++ b/Backend/app/Http/Requests/KebabRequests/SauceKebabRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "sauce" => "required|string", + ]; + } +} diff --git a/Backend/app/Http/Requests/UserRequests/ChangeEmailRequest.php b/Backend/app/Http/Requests/UserRequests/ChangeEmailRequest.php index 401a1e8..17231f1 100644 --- a/Backend/app/Http/Requests/UserRequests/ChangeEmailRequest.php +++ b/Backend/app/Http/Requests/UserRequests/ChangeEmailRequest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Http\Requests; +namespace App\Http\Requests\UserRequests; use Illuminate\Foundation\Http\FormRequest; @@ -24,9 +24,7 @@ public function authorize(): bool public function rules(): array { return [ - "oldEmail" => "required|email", "newEmail" => "required|email|unique:users,email", - "confirmEmail" => "required|email", ]; } } diff --git a/Backend/app/Http/Requests/UserRequests/ChangeNameRequest.php b/Backend/app/Http/Requests/UserRequests/ChangeNameRequest.php index 8ae007b..1162b8a 100644 --- a/Backend/app/Http/Requests/UserRequests/ChangeNameRequest.php +++ b/Backend/app/Http/Requests/UserRequests/ChangeNameRequest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Http\Requests; +namespace App\Http\Requests\UserRequests; use Illuminate\Foundation\Http\FormRequest; @@ -24,7 +24,6 @@ public function authorize(): bool public function rules(): array { return [ - "oldName" => "required", "newName" => "required", ]; } diff --git a/Backend/app/Http/Requests/UserRequests/ChangePasswordRequest.php b/Backend/app/Http/Requests/UserRequests/ChangePasswordRequest.php index 49a169d..7baa4f9 100644 --- a/Backend/app/Http/Requests/UserRequests/ChangePasswordRequest.php +++ b/Backend/app/Http/Requests/UserRequests/ChangePasswordRequest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Http\Requests; +namespace App\Http\Requests\UserRequests; use Illuminate\Foundation\Http\FormRequest; @@ -24,7 +24,6 @@ public function authorize(): bool public function rules(): array { return [ - "oldPassword" => "required", "newPassword" => "required", "confirmPassword" => "required", ]; diff --git a/Backend/app/Http/Requests/UserRequests/ChangeUserRoleRequest.php b/Backend/app/Http/Requests/UserRequests/ChangeUserRoleRequest.php new file mode 100644 index 0000000..b00a2f9 --- /dev/null +++ b/Backend/app/Http/Requests/UserRequests/ChangeUserRoleRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + "isAdmin" => "required|boolean", + ]; + } +} diff --git a/Backend/app/Http/Requests/UserRequests/FavoriteKebabRequest.php b/Backend/app/Http/Requests/UserRequests/FavoriteKebabRequest.php index 1399e01..13e6809 100644 --- a/Backend/app/Http/Requests/UserRequests/FavoriteKebabRequest.php +++ b/Backend/app/Http/Requests/UserRequests/FavoriteKebabRequest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Http\Requests; +namespace App\Http\Requests\UserRequests; use Illuminate\Foundation\Http\FormRequest; diff --git a/Backend/app/Http/Requests/UserRequests/UserRequest.php b/Backend/app/Http/Requests/UserRequests/UserRequest.php index 10680a4..346c1a1 100644 --- a/Backend/app/Http/Requests/UserRequests/UserRequest.php +++ b/Backend/app/Http/Requests/UserRequests/UserRequest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\Http\Requests; +namespace App\Http\Requests\UserRequests; use Illuminate\Foundation\Http\FormRequest; diff --git a/Backend/app/Models/Kebab.php b/Backend/app/Models/Kebab.php index cdfa78f..2b0a758 100644 --- a/Backend/app/Models/Kebab.php +++ b/Backend/app/Models/Kebab.php @@ -49,4 +49,11 @@ class Kebab extends Model "ordering_options" => "array", "comments" => "array", ]; + + public function getPyszneLink(): ?string + { + $pages = json_decode($this->pages, true); + + return $pages["pyszne.pl"] ?? null; + } } diff --git a/Backend/app/Models/User.php b/Backend/app/Models/User.php index 158a6c9..3ce613e 100644 --- a/Backend/app/Models/User.php +++ b/Backend/app/Models/User.php @@ -9,6 +9,17 @@ use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; +/** + * @OA\Schema( + * schema="User", + * type="object", + * required={"id", "name", "email", "isAdmin"}, + * @OA\Property(property="id", type="integer", description="User ID"), + * @OA\Property(property="name", type="string", description="User's name"), + * @OA\Property(property="email", type="string", description="User's email"), + * @OA\Property(property="isAdmin", type="boolean", description="User's admin status") + * ) + */ class User extends Authenticatable { use HasApiTokens; diff --git a/Backend/app/Services/PyszneScraper.php b/Backend/app/Services/PyszneScraper.php new file mode 100644 index 0000000..98ea818 --- /dev/null +++ b/Backend/app/Services/PyszneScraper.php @@ -0,0 +1,45 @@ + [ + "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", + "Accept-Language" => "en-US,en;q=0.5", + "Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", + "Referer" => "https://www.pyszne.pl", + ], + "timeout" => 10.0, + ]); + $response = $client->get($url); + + if ($response->getStatusCode() !== 200) { + throw new \Exception("Failed to retrieve the page"); + } + + $htmlContent = $response->getBody()->getContents(); + + $crawler = new Crawler($htmlContent); + + $element = $crawler->filter('[data-qa="restaurant-header-score"] b')->first(); + + if ($element->count()) { + return $element->text(); + } + + throw new \Exception('Element with data-qa="restaurant-header-score" and child not found'); + } catch (\Exception $e) { + return "Error: " . $e->getMessage(); + } + } +} diff --git a/Backend/composer.json b/Backend/composer.json index 0dd27a0..a362801 100644 --- a/Backend/composer.json +++ b/Backend/composer.json @@ -9,17 +9,21 @@ "license": "MIT", "require": { "php": "^8.1", - "guzzlehttp/guzzle": "^7.2", + "guzzlehttp/guzzle": "^7.9", "laravel/framework": "^10.10", "laravel/sanctum": "^3.3", "laravel/socialite": "^5.11", "laravel/tinker": "^2.8", + "swagger-api/swagger-ui": "^5.18", "symfony/browser-kit": "^7.1", - "symfony/http-client": "^7.1" + "symfony/dom-crawler": "^7.2", + "symfony/http-client": "^7.1", + "zircote/swagger-php": "^4.11" }, "require-dev": { "blumilksoftware/codestyle": "^4.0", "fakerphp/faker": "^1.9.1", + "knuckleswtf/scribe": "^4.39", "laravel/pint": "^1.0", "laravel/sail": "^1.18", "mockery/mockery": "^1.4.4", diff --git a/Backend/composer.lock b/Backend/composer.lock index d222a54..237589d 100644 --- a/Backend/composer.lock +++ b/Backend/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1f8de3e0cb05e1f20db8b22f7b5196a9", + "content-hash": "8509f6f873f4c2d5ac3268215a4f439e", "packages": [ { "name": "brick/math", @@ -210,82 +210,6 @@ }, "time": "2024-07-08T12:26:09+00:00" }, - { - "name": "doctrine/annotations", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.10.28", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6.4 || ^7", - "vimeo/psalm": "^4.30 || ^5.14" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.2" - }, - "time": "2024-09-05T10:17:24+00:00" - }, { "name": "doctrine/inflector", "version": "2.0.10", @@ -3043,55 +2967,6 @@ ], "time": "2024-09-16T03:06:04+00:00" }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, { "name": "psr/clock", "version": "1.0.0", @@ -3810,16 +3685,16 @@ }, { "name": "swagger-api/swagger-ui", - "version": "v5.17.14", + "version": "v5.18.2", "source": { "type": "git", "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083" + "reference": "3c7e281d97fd3e70b25f7ff4a001eabd56e375d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/74ed0adebfc9c8dd0de2bf8e81495b022a66c083", - "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083", + "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/3c7e281d97fd3e70b25f7ff4a001eabd56e375d7", + "reference": "3c7e281d97fd3e70b25f7ff4a001eabd56e375d7", "shasum": "" }, "type": "library", @@ -3865,9 +3740,9 @@ ], "support": { "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v5.17.14" + "source": "https://github.com/swagger-api/swagger-ui/tree/v5.18.2" }, - "time": "2024-05-28T05:24:40+00:00" + "time": "2024-11-07T14:02:16+00:00" }, { "name": "symfony/browser-kit", @@ -4165,16 +4040,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb" + "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/794ddd5481ba15d8a04132c95e211cd5656e09fb", - "reference": "794ddd5481ba15d8a04132c95e211cd5656e09fb", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b176e1f1f550ef44c94eb971bf92488de08f7c6b", + "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b", "shasum": "" }, "require": { @@ -4212,7 +4087,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.1.6" + "source": "https://github.com/symfony/dom-crawler/tree/v7.2.0" }, "funding": [ { @@ -4228,7 +4103,7 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:11:02+00:00" + "time": "2024-11-13T16:15:23+00:00" }, { "name": "symfony/error-handler", @@ -7098,6 +6973,56 @@ ], "time": "2024-05-06T16:37:16+00:00" }, + { + "name": "erusev/parsedown", + "version": "1.7.4", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "support": { + "issues": "https://github.com/erusev/parsedown/issues", + "source": "https://github.com/erusev/parsedown/tree/1.7.x" + }, + "time": "2019-12-30T22:54:17+00:00" + }, { "name": "evenement/evenement", "version": "v3.0.2", @@ -7494,6 +7419,101 @@ }, "time": "2020-07-09T08:09:16+00:00" }, + { + "name": "knuckleswtf/scribe", + "version": "4.39.0", + "source": { + "type": "git", + "url": "https://github.com/knuckleswtf/scribe.git", + "reference": "cb4c2e552fdae4fd2306e12bba60d5de38a9e4ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/cb4c2e552fdae4fd2306e12bba60d5de38a9e4ad", + "reference": "cb4c2e552fdae4fd2306e12bba60d5de38a9e4ad", + "shasum": "" + }, + "require": { + "erusev/parsedown": "1.7.4", + "ext-fileinfo": "*", + "ext-json": "*", + "ext-pdo": "*", + "fakerphp/faker": "^1.9.1", + "illuminate/console": "^8.0|^9.0|^10.0|^11.0", + "illuminate/routing": "^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "league/flysystem": "^1.1.4|^2.1.1|^3.0", + "mpociot/reflection-docblock": "^1.0.1", + "nikic/php-parser": "^5.0", + "nunomaduro/collision": "^5.10|^6.0|^7.0|^8.0", + "php": ">=8.0", + "ramsey/uuid": "^4.2.2", + "shalvah/clara": "^3.1.0", + "shalvah/upgrader": ">=0.6.0", + "spatie/data-transfer-object": "^2.6|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "replace": { + "mpociot/laravel-apidoc-generator": "*" + }, + "require-dev": { + "brianium/paratest": "^6.0", + "dms/phpunit-arraysubset-asserts": "^0.4", + "laravel/legacy-factories": "^1.3.0", + "laravel/lumen-framework": "^8.0|^9.0|^10.0", + "league/fractal": "^0.20", + "nikic/fast-route": "^1.3", + "orchestra/testbench": "^6.0|^7.0|^8.0", + "pestphp/pest": "^1.21", + "phpstan/phpstan": "^1.0", + "phpunit/phpunit": "^9.0|^10.0", + "symfony/css-selector": "^5.4|^6.0", + "symfony/dom-crawler": "^5.4|^6.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Knuckles\\Scribe\\ScribeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Knuckles\\Camel\\": "camel/", + "Knuckles\\Scribe\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Shalvah" + } + ], + "description": "Generate API documentation for humans from your Laravel codebase.✍", + "homepage": "http://github.com/knuckleswtf/scribe", + "keywords": [ + "api", + "dingo", + "documentation", + "laravel" + ], + "support": { + "issues": "https://github.com/knuckleswtf/scribe/issues", + "source": "https://github.com/knuckleswtf/scribe/tree/4.39.0" + }, + "funding": [ + { + "url": "https://patreon.com/shalvah", + "type": "patreon" + } + ], + "time": "2024-12-31T14:13:50+00:00" + }, { "name": "kubawerlos/php-cs-fixer-custom-fixers", "version": "v3.22.0", @@ -7752,6 +7772,59 @@ }, "time": "2024-05-16T03:13:13+00:00" }, + { + "name": "mpociot/reflection-docblock", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/mpociot/reflection-docblock.git", + "reference": "c8b2e2b1f5cebbb06e2b5ccbf2958f2198867587" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mpociot/reflection-docblock/zipball/c8b2e2b1f5cebbb06e2b5ccbf2958f2198867587", + "reference": "c8b2e2b1f5cebbb06e2b5ccbf2958f2198867587", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Mpociot": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "support": { + "issues": "https://github.com/mpociot/reflection-docblock/issues", + "source": "https://github.com/mpociot/reflection-docblock/tree/master" + }, + "time": "2016-06-20T20:53:12+00:00" + }, { "name": "myclabs/deep-copy", "version": "1.12.0", @@ -9894,6 +9967,111 @@ ], "time": "2023-02-07T11:34:05+00:00" }, + { + "name": "shalvah/clara", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/shalvah/clara.git", + "reference": "cdbb5737cbdd101756d97dd2279a979a1af7710b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shalvah/clara/zipball/cdbb5737cbdd101756d97dd2279a979a1af7710b", + "reference": "cdbb5737cbdd101756d97dd2279a979a1af7710b", + "shasum": "" + }, + "require": { + "php": ">=7.4", + "symfony/console": "^4.0|^5.0|^6.0|^7.0" + }, + "require-dev": { + "eloquent/phony-phpunit": "^7.0", + "phpunit/phpunit": "^9.1" + }, + "type": "library", + "autoload": { + "files": [ + "helpers.php" + ], + "psr-4": { + "Shalvah\\Clara\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "🔊 Simple, pretty, testable console output for CLI apps.", + "keywords": [ + "cli", + "log", + "logging" + ], + "support": { + "issues": "https://github.com/shalvah/clara/issues", + "source": "https://github.com/shalvah/clara/tree/3.2.0" + }, + "time": "2024-02-27T20:30:59+00:00" + }, + { + "name": "shalvah/upgrader", + "version": "0.6.0", + "source": { + "type": "git", + "url": "https://github.com/shalvah/upgrader.git", + "reference": "d95ed17fe9f5e1ee7d47ad835595f1af080a867f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shalvah/upgrader/zipball/d95ed17fe9f5e1ee7d47ad835595f1af080a867f", + "reference": "d95ed17fe9f5e1ee7d47ad835595f1af080a867f", + "shasum": "" + }, + "require": { + "illuminate/support": ">=8.0", + "nikic/php-parser": "^5.0", + "php": ">=8.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.2.0", + "pestphp/pest": "^1.21", + "phpstan/phpstan": "^1.0", + "spatie/ray": "^1.33" + }, + "type": "library", + "autoload": { + "psr-4": { + "Shalvah\\Upgrader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Shalvah", + "email": "hello@shalvah.me" + } + ], + "description": "Create automatic upgrades for your package.", + "homepage": "http://github.com/shalvah/upgrader", + "keywords": [ + "upgrade" + ], + "support": { + "issues": "https://github.com/shalvah/upgrader/issues", + "source": "https://github.com/shalvah/upgrader/tree/0.6.0" + }, + "funding": [ + { + "url": "https://patreon.com/shalvah", + "type": "patreon" + } + ], + "time": "2024-02-20T11:51:46+00:00" + }, { "name": "spatie/backtrace", "version": "1.6.2", @@ -9957,6 +10135,70 @@ ], "time": "2024-07-22T08:21:24+00:00" }, + { + "name": "spatie/data-transfer-object", + "version": "3.9.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/data-transfer-object.git", + "reference": "1df0906c4e9e3aebd6c0506fd82c8b7d5548c1c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/data-transfer-object/zipball/1df0906c4e9e3aebd6c0506fd82c8b7d5548c1c8", + "reference": "1df0906c4e9e3aebd6c0506fd82c8b7d5548c1c8", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "illuminate/collections": "^8.36", + "jetbrains/phpstorm-attributes": "^1.0", + "larapack/dd": "^1.1", + "phpunit/phpunit": "^9.5.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\DataTransferObject\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Data transfer objects with batteries included", + "homepage": "https://github.com/spatie/data-transfer-object", + "keywords": [ + "data-transfer-object", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/data-transfer-object/issues", + "source": "https://github.com/spatie/data-transfer-object/tree/3.9.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "abandoned": "spatie/laravel-data", + "time": "2022-09-16T13:34:38+00:00" + }, { "name": "spatie/error-solutions", "version": "1.1.1", @@ -10545,6 +10787,82 @@ ], "time": "2024-09-25T14:20:29+00:00" }, + { + "name": "symfony/var-exporter", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a6a89f95a46af0f142874c9d650a6358d13070d", + "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" + ], + "support": { + "source": "https://github.com/symfony/var-exporter/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-18T07:58:17+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.3", @@ -10598,12 +10916,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.1" }, - "platform-dev": [], + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/Backend/config/scribe.php b/Backend/config/scribe.php new file mode 100644 index 0000000..ecce95b --- /dev/null +++ b/Backend/config/scribe.php @@ -0,0 +1,265 @@ + for the generated documentation. If this is empty, Scribe will infer it from config('app.name'). + "title" => "Kebab Api", + + // A short description of your API. Will be included in the docs webpage, Postman collection and OpenAPI spec. + "description" => "", + + // The base URL displayed in the docs. If this is empty, Scribe will use the value of config('app.url') at generation time. + // If you're using `laravel` type, you can set this to a dynamic string, like '{{ config("app.tenant_url") }}' to get a dynamic base URL. + "base_url" => "https://sponge-climbing-adder.ngrok-free.app/api/documentation", + + "routes" => [ + [ + // Routes that match these conditions will be included in the docs + "match" => [ + // Match only routes whose paths match this pattern (use * as a wildcard to match any characters). Example: 'users/*'. + "prefixes" => ["api/*"], + + // Match only routes whose domains match this pattern (use * as a wildcard to match any characters). Example: 'api.*'. + "domains" => ["*"], + + // [Dingo router only] Match only routes registered under this version. Wildcards are NOT supported. + "versions" => ["v1"], + ], + + // Include these routes even if they did not match the rules above. + "include" => [], + + // Exclude these routes even if they matched the rules above. + "exclude" => [], + ], + ], + + // The type of documentation output to generate. + // - "static" will generate a static HTMl page in the /public/docs folder, + // - "laravel" will generate the documentation as a Blade view, so you can add routing and authentication. + // - "external_static" and "external_laravel" do the same as above, but generate a basic template, + // passing the OpenAPI spec as a URL, allowing you to easily use the docs with an external generator + "type" => "static", + + // See https://scribe.knuckles.wtf/laravel/reference/config#theme for supported options + "theme" => "default", + + "static" => [ + // HTML documentation, assets and Postman collection will be generated to this folder. + // Source Markdown will still be in resources/docs. + "output_path" => "public/docs", + ], + + "laravel" => [ + // Whether to automatically create a docs endpoint for you to view your generated docs. + // If this is false, you can still set up routing manually. + "add_routes" => false, + + // URL path to use for the docs endpoint (if `add_routes` is true). + // By default, `/docs` opens the HTML page, `/docs.postman` opens the Postman collection, and `/docs.openapi` the OpenAPI spec. + "docs_url" => "/documentation", + + // Directory within `public` in which to store CSS and JS assets. + // By default, assets are stored in `public/vendor/scribe`. + // If set, assets will be stored in `public/{{assets_directory}}` + "assets_directory" => null, + + // Middleware to attach to the docs endpoint (if `add_routes` is true). + "middleware" => [], + ], + + "external" => [ + "html_attributes" => [], + ], + + "try_it_out" => [ + // Add a Try It Out button to your endpoints so consumers can test endpoints right from their browser. + // Don't forget to enable CORS headers for your endpoints. + "enabled" => true, + + // The base URL for the API tester to use (for example, you can set this to your staging URL). + // Leave as null to use the current app URL when generating (config("app.url")). + "base_url" => "https://legible-freely-wren.ngrok-free.app/", + + // [Laravel Sanctum] Fetch a CSRF token before each request, and add it as an X-XSRF-TOKEN header. + "use_csrf" => false, + + // The URL to fetch the CSRF token from (if `use_csrf` is true). + "csrf_url" => "/sanctum/csrf-cookie", + ], + + // How is your API authenticated? This information will be used in the displayed docs, generated examples and response calls. + "auth" => [ + // Set this to true if ANY endpoints in your API use authentication. + "enabled" => true, + + // Set this to true if your API should be authenticated by default. If so, you must also set `enabled` (above) to true. + // You can then use @unauthenticated or @authenticated on individual endpoints to change their status from the default. + "default" => false, + + // Where is the auth value meant to be sent in a request? + // Options: query, body, basic, bearer, header (for custom header) + "in" => "bearer", + + // The name of the auth parameter (e.g. token, key, apiKey) or header (e.g. Authorization, Api-Key). + "name" => "Authorization", + + // The value of the parameter to be used by Scribe to authenticate response calls. + // This will NOT be included in the generated documentation. If empty, Scribe will use a random value. + "use_value" => env("SCRIBE_AUTH_KEY"), + + // Placeholder your users will see for the auth parameter in the example requests. + // Set this to null if you want Scribe to use a random value as placeholder instead. + "placeholder" => "{YOUR_AUTH_KEY}", + + // Any extra authentication-related info for your users. Markdown and HTML are supported. + "extra_info" => "You can retrieve your token by visiting your dashboard and clicking Generate API token.", + ], + + // Text to place in the "Introduction" section, right after the `description`. Markdown and HTML are supported. + "intro_text" => <<As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile). +You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile). +INTRO + , + + // Example requests for each endpoint will be shown in each of these languages. + // Supported options are: bash, javascript, php, python + // To add a language of your own, see https://scribe.knuckles.wtf/laravel/advanced/example-requests + "example_languages" => [ + "bash", + "javascript", + "php", + ], + + // Generate a Postman collection (v2.1.0) in addition to HTML docs. + // For 'static' docs, the collection will be generated to public/docs/collection.json. + // For 'laravel' docs, it will be generated to storage/app/scribe/collection.json. + // Setting `laravel.add_routes` to true (above) will also add a route for the collection. + "postman" => [ + "enabled" => true, + + "overrides" => [], + ], + + // Generate an OpenAPI spec (v3.0.1) in addition to docs webpage. + // For 'static' docs, the collection will be generated to public/docs/openapi.yaml. + // For 'laravel' docs, it will be generated to storage/app/scribe/openapi.yaml. + // Setting `laravel.add_routes` to true (above) will also add a route for the spec. + "openapi" => [ + "enabled" => true, + + "overrides" => [], + ], + + "groups" => [ + // Endpoints which don't have a @group will be placed in this default group. + "default" => "Endpoints", + + // By default, Scribe will sort groups alphabetically, and endpoints in the order their routes are defined. + // You can override this by listing the groups, subgroups and endpoints here in the order you want them. + // See https://scribe.knuckles.wtf/blog/laravel-v4#easier-sorting and https://scribe.knuckles.wtf/laravel/reference/config#order for details + "order" => [], + ], + + // Custom logo path. This will be used as the value of the src attribute for the tag, + // so make sure it points to an accessible URL or path. Set to false to not use a logo. + // For example, if your logo is in public/img: + // - 'logo' => '../img/logo.png' // for `static` type (output folder is public/docs) + // - 'logo' => 'img/logo.png' // for `laravel` type + "logo" => false, + + // Customize the "Last updated" value displayed in the docs by specifying tokens and formats. + // - {date:F j Y} => March 28, 2022 + // - {git:short} => Short hash of the last Git commit + // Available tokens are `{date:}` and `{git:}`. + // The format you pass to `date` will be passed to PHP's `date()` function. + // The format you pass to `git` can be either "short" or "long". + "last_updated" => "Last updated: {date:F j, Y}", + + "examples" => [ + // Set this to any number (e.g. 1234) to generate the same example values for parameters on each run, + "faker_seed" => null, + + // With API resources and transformers, Scribe tries to generate example models to use in your API responses. + // By default, Scribe will try the model's factory, and if that fails, try fetching the first from the database. + // You can reorder or remove strategies here. + "models_source" => ["factoryCreate", "factoryMake", "databaseFirst"], + ], + + // The strategies Scribe will use to extract information about your routes at each stage. + // If you create or install a custom strategy, add it here. + "strategies" => [ + "metadata" => [ + Strategies\Metadata\GetFromDocBlocks::class, + Strategies\Metadata\GetFromMetadataAttributes::class, + ], + "urlParameters" => [ + Strategies\UrlParameters\GetFromLaravelAPI::class, + Strategies\UrlParameters\GetFromUrlParamAttribute::class, + Strategies\UrlParameters\GetFromUrlParamTag::class, + ], + "queryParameters" => [ + Strategies\QueryParameters\GetFromFormRequest::class, + Strategies\QueryParameters\GetFromInlineValidator::class, + Strategies\QueryParameters\GetFromQueryParamAttribute::class, + Strategies\QueryParameters\GetFromQueryParamTag::class, + ], + "headers" => [ + Strategies\Headers\GetFromHeaderAttribute::class, + Strategies\Headers\GetFromHeaderTag::class, + [ + "override", + [ + "Content-Type" => "application/json", + "Accept" => "application/json", + ], + ], + ], + "bodyParameters" => [ + Strategies\BodyParameters\GetFromFormRequest::class, + Strategies\BodyParameters\GetFromInlineValidator::class, + Strategies\BodyParameters\GetFromBodyParamAttribute::class, + Strategies\BodyParameters\GetFromBodyParamTag::class, + ], + "responses" => [ + Strategies\Responses\UseResponseAttributes::class, + Strategies\Responses\UseTransformerTags::class, + Strategies\Responses\UseApiResourceTags::class, + Strategies\Responses\UseResponseTag::class, + Strategies\Responses\UseResponseFileTag::class, + [ + Strategies\Responses\ResponseCalls::class, + [ + "only" => ["GET *"], + // Disable debug mode when generating response calls to avoid error stack traces in responses + "config" => [ + "app.debug" => false, + ], + ], + ], + ], + "responseFields" => [ + Strategies\ResponseFields\GetFromResponseFieldAttribute::class, + Strategies\ResponseFields\GetFromResponseFieldTag::class, + ], + ], + + // For response calls, API resource responses and transformer responses, + // Scribe will try to start database transactions, so no changes are persisted to your database. + // Tell Scribe which connections should be transacted here. If you only use one db connection, you can leave this as is. + "database_connections_to_transact" => [config("database.default")], + + "fractal" => [ + // If you are using a custom serializer with league/fractal, you can specify it here. + "serializer" => null, + ], + + "routeMatcher" => RouteMatcher::class, +]; diff --git a/Backend/database/seeders/KebabSeeder.php b/Backend/database/seeders/KebabSeeder.php new file mode 100644 index 0000000..59c286d --- /dev/null +++ b/Backend/database/seeders/KebabSeeder.php @@ -0,0 +1,569 @@ +insert([ + [ + "logo" => file_get_contents(public_path("Logo/Stambuł.png")), + "name" => "Stambuł Kebab", + "address" => "Chojnowska 21A", + "coordinates" => json_encode(["lat" => 51.207187, "lng" => 16.156937]), + "sauces" => json_encode(["łagodny", "ostry", "mieszany", "czosnek", "ziołowy"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "11:00-23:00", + "tuesday" => "11:00-23:00", + "wednesday" => "11:00-23:00", + "thursday" => "11:00-23:00", + "friday" => "11:00-01:00", + "saturday" => "11:00-01:00", + "sunday" => "12:00-23:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["pyszne.pl" => "https://www.pyszne.pl/menu/kebab-stambul-legnica-gwarna"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Rulo.png")), + "name" => "Rulo Kebab", + "address" => "Nowy Świat", + "coordinates" => json_encode(["lat" => 51.205062, "lng" => 16.154562]), + "sauces" => json_encode(["łagodny", "arabski", "ostry", "mieszany"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane"]), + "status" => "closed", + "opening_hours" => json_encode([]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => false, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos"]), + "comments" => json_encode([]), + "pages" => json_encode([]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Bafra.png")), + "name" => "Bafra Kebab Złotoryjska", + "address" => "Złotoryjska 170 ", + "coordinates" => json_encode(["lat" => 51.192937, "lng" => 16.128937]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "11:00-23:00", + "tuesday" => "11:00-23:00", + "wednesday" => "11:00-23:00", + "thursday" => "11:00-23:00", + "friday" => "11:00-01:00", + "saturday" => "11:00-01:00", + "sunday" => "12:00-23:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => false, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/bafra-kebab-zlotoryjska/", "pyszne.pl" => "https://www.pyszne.pl/menu/bafra-kebab-zlotoryjska"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Cyrus.png")), + "name" => "Cyrus Kebab", + "address" => "Rynek 20 ", + "coordinates" => json_encode(["lat" => 51.207937, "lng" => 16.161062]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-22:00", + "tuesday" => "10:00-22:00", + "wednesday" => "10:00-22:00", + "thursday" => "10:00-22:00", + "friday" => "10:00-00:00", + "saturday" => "10:00-00:00", + "sunday" => "10:00-22:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["self" => "https://www.cyrus.pl"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Leo.png")), + "name" => "Leo Kebab", + "address" => "Jaworzyńska 4", + "coordinates" => json_encode(["lat" => 51.204437, "lng" => 16.159937]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel", "kapsalon"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-00:00", + "tuesday" => "10:00-00:00", + "wednesday" => "10:00-00:00", + "thursday" => "10:00-00:00", + "friday" => "10:00-00:00", + "saturday" => "10:00-00:00", + "sunday" => "10:00-00:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/leo-kebab-legnica-lga/", "pyszne.pl" => "https://www.pyszne.pl/menu/leo-kebab-and-grill"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Zahir.png")), + "name" => "Zahir Kebab", + "address" => "Jaworzyńska 8", + "coordinates" => json_encode(["lat" => 51.204187, "lng" => 16.160187]), + "sauces" => json_encode(["łagodny", "ostry", "mieszany", "czosnkowy", "ketchup", "bbq", "koperkowy"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-23:00", + "tuesday" => "10:00-23:00", + "wednesday" => "10:00-23:00", + "thursday" => "10:00-23:00", + "friday" => "10:00-23:00", + "saturday" => "10:00-23:00", + "sunday" => "10:00-23:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/zahir-kebab-lga/", "pyszne.pl" => "https://www.pyszne.pl/menu/zahir-kebab-jaworzynska"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Piri.png")), + "name" => "Piri Piri Kebab", + "address" => "Szkolna 1", + "coordinates" => json_encode(["lat" => 51.204187, "lng" => 16.160688]), + "sauces" => json_encode([ + "łagodny", + "ostry", + "mieszany", + "miodowo-musztardowy", + "sriracha mayo", + "czosnkowy", + "ziołowy", + "salsa verde", + ]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel", "kapsalon"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "11:00-22:00", + "tuesday" => "11:00-22:00", + "wednesday" => "11:00-22:00", + "thursday" => "11:00-22:00", + "friday" => "11:00-23:00", + "saturday" => "11:00-23:00", + "sunday" => "12:00-22:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/piri-piri-kebab-legnica-lga/", "pyszne.pl" => "https://www.pyszne.pl/menu/kebab-piri-piri-szkolna"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Dino.png")), + "name" => "Dino Kebab", + "address" => "Jaworzyńska 41", + "coordinates" => json_encode(["lat" => 51.200688, "lng" => 16.159438]), + "sauces" => json_encode(["łagodny", "ostry", "mieszany"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel", "kapsalon"]), + "status" => "exists", + "opening_hours" => json_encode([ + "tuesday" => "11:00-22:00", + "wednesday" => "11:00-22:00", + "thursday" => "11:00-22:00", + "friday" => "11:00-22:00", + "saturday" => "12:00-22:00", + "sunday" => "12:00-22:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/dino-kebab1-lga/", "pyszne.pl" => "https://www.pyszne.pl/menu/kebab-dino"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Zahir.png")), + "name" => "Zahir Kebab", + "address" => "Kolejowa 3 ", + "coordinates" => json_encode(["lat" => 51.212312, "lng" => 16.168687]), + "sauces" => json_encode(["łagodny", "ostry", "mieszany", "czosnkowy", "ketchup", "bbq", "koperkowy"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-00:00", + "tuesday" => "10:00-00:00", + "wednesday" => "10:00-00:00", + "thursday" => "10:00-00:00", + "friday" => "10:00-02:00", + "saturday" => "10:00-02:00", + "sunday" => "11:00-00:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/zahir-kebab-lga/", "pyszne.pl" => "https://www.pyszne.pl/menu/zahir-kebab-legnica-kolejowa"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Lara.png")), + "name" => "Lara Doner Kebab", + "address" => "Wrocławska 13 ", + "coordinates" => json_encode(["lat" => 51.209563, "lng" => 16.167813]), + "sauces" => json_encode(["łagodny", "ostry", "mieszany", "czosnkowy", "ziołowy"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-22:00", + "tuesday" => "10:00-22:00", + "wednesday" => "10:00-22:00", + "thursday" => "10:00-22:00", + "friday" => "10:00-22:00", + "saturday" => "10:00-22:00", + "sunday" => "10:00-22:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/pl/legnica/lara-doner-kebab-lga/"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Karmnik.png")), + "name" => "Karmnik Kebab", + "address" => "Wrocławska 1", + "coordinates" => json_encode(["lat" => 51.209688, "lng" => 16.168563]), + "sauces" => json_encode(["łagodny", "ostry", "mieszany"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane"]), + "status" => "closed", + "opening_hours" => json_encode([]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos"]), + "comments" => json_encode([]), + "pages" => json_encode([]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Mix.png")), + "name" => "MIX Kebab", + "address" => "Wrocławska 23a", + "coordinates" => json_encode(["lat" => 51.209187, "lng" => 16.169313]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "11:00-21:00", + "tuesday" => "11:00-21:00", + "wednesday" => "11:00-21:00", + "thursday" => "11:00-21:00", + "friday" => "11:00-21:00", + "saturday" => "12:00-21:00", + "sunday" => "12:00-21:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["pyszne.pl" => "https://www.pyszne.pl/menu/mix-kebab-legnica"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Hallo.png")), + "name" => "Hallo Kebap", + "address" => "Stefana Czarnieckiego 19c", + "coordinates" => json_encode(["lat" => 51.211687, "lng" => 16.175187]), + "sauces" => json_encode(["ostry", "czosnkowy", "jogurtowy", "ketchup"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane"]), + "status" => "exists", + "opening_hours" => json_encode([ + "wednesday" => "12:00-20:00", + "thursday" => "12:00-20:00", + "friday" => "12:00-21:00", + "saturday" => "12:00-21:00", + "sunday" => "12:00-21:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["pyszne.pl" => "https://www.pyszne.pl/menu/hallo-kebap-legnica"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/HadFood.png")), + "name" => "Had Food", + "address" => "Fabryczna 13 ", + "coordinates" => json_encode(["lat" => 51.206812, "lng" => 16.178688]), + "sauces" => json_encode(["ketchup", "czosnkowy", "łagodny", "pikantny"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "12:00-22:00", + "tuesday" => "12:00-22:00", + "wednesday" => "12:00-22:00", + "thursday" => "12:00-22:00", + "friday" => "12:00-23:00", + "saturday" => "12:00-23:00", + "sunday" => "12:00-21:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu"]), + "comments" => json_encode([]), + "pages" => json_encode(["pyszne.pl" => "https://www.pyszne.pl/menu/had-food"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/AmAm.png")), + "name" => "Am Am Kebab", + "address" => "Wrocławska 155", + "coordinates" => json_encode(["lat" => 51.209563, "lng" => 16.187063]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-20:00", + "tuesday" => "10:00-20:00", + "wednesday" => "10:00-20:00", + "thursday" => "10:00-20:00", + "friday" => "10:00-20:00", + "saturday" => "10:00-20:00", + "sunday" => "11:00-20:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => false, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode([ + "pyszne.pl" => "https://www.pyszne.pl/menu/am-am-kebab-legnica-wroclawska", + ]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Bejrut.png")), + "name" => "Bejrut Restauracja Libańska", + "address" => "aleja Piłsudskiego 18", + "coordinates" => json_encode(["lat" => 51.205188, "lng" => 16.185313]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry", "czosnkowy"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-00:00", + "tuesday" => "10:00-00:00", + "wednesday" => "10:00-00:00", + "thursday" => "10:00-00:00", + "friday" => "10:00-02:00", + "saturday" => "10:00-02:00", + "sunday" => "10:00-00:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => true, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://www.pyszne.pl/menu/bejrut-restauracja-libanska-legnica", "pyszne.pl" => "https://glovoapp.com/pl/pl/legnica/bejrut-restauracja-libanska-lga/"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/King.png")), + "name" => "King House Kebab", + "address" => "aleja Piłsudskiego 38", + "coordinates" => json_encode(["lat" => 51.204563, "lng" => 16.188562]), + "sauces" => json_encode(["łagodny", "mieszany", "ostry", "czosnkowy", "ketchup", "bbq"]), + "meats" => json_encode(["kurczak", "wołowina", "mieszane", "falafel"]), + "status" => "exists", + "opening_hours" => json_encode([ + "tuesday" => "12:00-21:30", + "wednesday" => "12:00-21:30", + "thursday" => "12:00-21:30", + "friday" => "12:00-22:00", + "saturday" => "12:00-22:00", + "sunday" => "12:00-21:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => true, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode([ + "pyszne.pl" => "https://www.pyszne.pl/menu/king-house-kebab-legnica", + "glovo" => "https://glovoapp.com/pl/pl/legnica/king-house-kebab-lga/", + ]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => null, + "name" => "Kavovarka Kebab Kraft", + "address" => "Górnicza 10B ", + "coordinates" => json_encode(["lat" => 51.205562, "lng" => 16.186563]), + "sauces" => json_encode(["łagodny", "ostry", "czosnkowy"]), + "meats" => json_encode(["kurczak", "wieprzowina", "kraftowy"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "12:00-21:00", + "tuesday" => "12:00-21:00", + "wednesday" => "12:00-21:00", + "thursday" => "12:00-21:00", + "friday" => "12:00-21:00", + "saturday" => "12:00-21:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => false, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos", "dostawa"]), + "comments" => json_encode([]), + "pages" => json_encode(["glovo" => "https://glovoapp.com/pl/en/legnica/kavovarka-lga/"]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => null, + "name" => "Kebab Truck", + "address" => "Iwaszkiewicza 1", + "coordinates" => json_encode(["lat" => 51.207937, "lng" => 16.213437]), + "sauces" => json_encode(["czosnkowy", "ziołowy", "ostry", "turecki"]), + "meats" => json_encode(["kurczak", "mieszane"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "10:00-19:00", + "tuesday" => "10:00-19:00", + "wednesday" => "10:00-19:00", + "thursday" => "10:00-19:00", + "friday" => "10:00-19:00", + "saturday" => "10:00-19:00", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => false, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos"]), + "comments" => json_encode([]), + "pages" => json_encode([]), + "created_at" => now(), + "updated_at" => now(), + ], + [ + "logo" => file_get_contents(public_path("Logo/Maxi.png")), + "name" => "Maxi Kebab", + "address" => "Carrefour, aleja Piłsudskiego 84", + "coordinates" => json_encode(["lat" => 51.201062, "lng" => 16.214813]), + "sauces" => json_encode(["łagodny", "czosnkowy", "miętowy", "ostry", "mieszany", "musztardowy"]), + "meats" => json_encode(["kurczak", "baran", "mieszane"]), + "status" => "exists", + "opening_hours" => json_encode([ + "monday" => "11:30-20:00", + "tuesday" => "11:30-20:00", + "wednesday" => "11:30-20:00", + "thursday" => "11:30-20:00", + "friday" => "11:30-20:00", + "saturday" => "11:30-20:00", + "sunday" => "zamknięte", + ]), + "opening_year" => null, + "closing_year" => null, + "is_crafted" => true, + "is_premises" => false, + "is_chainstore" => false, + "ordering_options" => json_encode(["na miejscu", "na wynos"]), + "comments" => json_encode([]), + "pages" => json_encode([]), + "created_at" => now(), + "updated_at" => now(), + ], + ]); + } +} diff --git a/Backend/public/Logo/AmAm.png b/Backend/public/Logo/AmAm.png new file mode 100644 index 0000000000000000000000000000000000000000..7c7c640f4abd2cc191bab32b08d2ecad52dae35d GIT binary patch literal 9236 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 JKa7Xj{{l3O4YmLP literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Bafra.png b/Backend/public/Logo/Bafra.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb2e1bb4525c2a1dd60139988cd659f1ed6a83c GIT binary patch literal 106471 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 aTtfFOx*x$D2)g+1gTwzkge3B^^#1^I&8%4f literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Cyrus.png b/Backend/public/Logo/Cyrus.png new file mode 100644 index 0000000000000000000000000000000000000000..57336d8061f40bb5084a111515629055b20203a1 GIT binary patch literal 167216 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 ~I15#!glTOzp-uEtp*bH4YNEhsETc zeO7DDYy<(!DK*sZ=W$UQQv#x0@5nHM2hw7nMsw}|=m>fIrc_iFlO6gAcI&jZ+jw+v z-ojD!$zc}awiKzx%IiO&M=);r$5UWe_bSh4_<}mR>YE&7vJSJ>dRUAhj2$g(>cLGD z%Qn^nQbPDVhuN(0yT~tW4Ex$Y1lBB5ZaI9(WU*Y?dj>P*d6OpeOf8^-mj%CXJEW(= zJs*0TQADOwtyF=}S&%<5qP}*`V%*Rir7c9#!%Cc)ey2X%}Spxbt&`s!%eBRt}5ofWwHq(;^G~AUt zEoZQ$*05avH6kkJ1&hH(FP^S;MCs}h(sc1Af`q2|xawr9($tiw+dfrqN_z(Iez7eO z7e+jLd)RRjiqfaqH?}x-w3z2@`HiD_2hQlX&6MkA+8o0W={i#6e)G)fJYi7PM-J!S z^*|e$Ru%Q{J#!s)jox43WFTZA*d=OJP@GkWu`D3m7^To)<^xjhPQ_WvsYNh}0xj!8fFE=W3KngCXO04VI|_`Qy>v!hM154Xkgo zlQPeSO56$Zj%vzcKAOpN6ZAg{cRg<@D-_S4$*9k+rU(&u{5(ycUB>5mn=ylFNOr;U zkyEwAEzk%(=cSTp?p|3Jj%wCrA35)`jmRTEzNMXM%aHgDt8es(nBnq0fgO3aM|wHGb9vpuWxLd~CwbslYZ?$q9xOpH&YIjY|-2+$hJJ&<9XN)ss9 z!KO(Wh3L|>5(q2MEM&g7rqbfF%u=|H1{w-g_}j$R$_}Jm^F!r4KK7jhiR_|hEicR+ ztUKyysXR<4N7Bkm!uA&gll6s`?8#|qc)utDXq(D`tHHIoll2A#@AP*QJY}s7H^e4j zehtPV4n;jvId9ieS3xTva-B7mqp6eReGv1OX@be8eFW7Lb%m6=lYSai@7_cL)p?Gl zJPvsi+Y*-3a(38iZdmW>b*zLj_2{+n+Lu3ME3C+mEK+E(2AbSdpt=Qgf~Pl%_*)OD%UO!XnBcy!y0$qiw0rV3|7? z{2wVieIWGK_du3Q7}a9Q?e=aJ?v5(;Lw&_=%r>1FK1Y9w_K1ycOs1e6<@;(3(yWfx zyVb+*o6@*UlQ+Ai`%UFAbB58|ERMGLvwJ&j=d=W4ZQaaNtj9b^g3*gw5Wbm9j4Mj` zdUQ8k0!_xd`Pkd)WUc4hY{4%+!$#R=JicX>1w63gVBz0VT$ zVU0qi5wY{gQfT#R*${q<$hKRk3{o^mA6(a6=a69AQjQ7ee3Y+IXisc9+~7!1jau|P zHrg<>u9}UWdK@dy`xC5D;84hak3Fp=as*baoh^1N$pM5Ibaz3G^HQ_%s-4+aPGkAr z`0!jiKeeh4Dg(xf`}ciuK3+i5!V`~2`7TiAYaeZ>1P<25=+>F;k5WCn)}6b*nKxa_ zCsaRvv++0q_aa90rnzA*rK^_C&4F8Rf_rFLN0wY8srXkE{Tl^N&P3#`o9P^(4<#!Pi;Q35=#=>zgG2 z0xAlgL8KGi9Ut7b=V`OeJ}#H@+fl}G=-BIjt|RH@5j`$3z}lq+?~rr7_o_u~h3HW*?cUwB z?tAa-Z!sOa2RC(jFc*wfgr)Q8C6KcT4hAUX=h1W`$A`0pkIQ*u<-gaGh?XDM?@@YS zHFjp9c^{}ay%v)-nSwE@NRY#iYgLb{;q^2jb$9YZ3_C`ssicD+X6`7CO-anLzP<#! z&NL%N4{XU6Bk8FZ>RSB{u~3(tIioEi)OVC-EcX$hkt+xlzru7vkxfIapGP@-whye& z3wP^B%AK`)3&%ukzI}X{=&`IMkzhH}xwhHkG{1Otq@h4NuVU(!!hl~aK14k6 z#mT;Ppy^QJJcK(dsdCKmS%8Q;d!m(PrGJa%I+E(ys8gFG%yl4d%zSVB&hYs~Z{D*4 z3gXX?75m1Pv)^mqE^Pjq4{-^xaM?Kk`w;PZ-pgA1P3S5}2_C6~NIe1vii>{1IWGbte=Cs-vS5RoDy9 z=y8*n^q;1Cv=-U?%HowI2Ms zT7O%$pT0+|$N{pi=9S$)A3la?fv2qgc*;)zt#8o0$33I(CxoY{_=&k=ATfOBg|f-; z$23Q@e|;nobw@--V@_G4#L~88w%|nVjRlK*q-axk(TcDv1Msokd!~onEf#vX-oa7{>(j(!df;6f#8VJrCyZ`HJr3=F@e1q5cv+PQufp`K z>zN&;-J_+EswI@sqkfM^ajWOQBfGPuVKulHayj?s29raRL!Y~G#eW+cP1X|~nh?mQ zXx_ToK(JC}YgTTrC4=c5Zk$H9_OwOh7$`6i{d6qyQE5=XP|qHuAUfT*t((GBe7INB zz>y}=rayv#J5=Xge+f5tLe3c9)^fzB)OMHo*y4&$%2FPF_x~2s{*S(0yRG4_+GC#4 zJu~9c$cKf@5_W+|@rWQ#QA?RfeRsawUBTlY?x4&ap{v~JhML9v!2Kp6YM^rou#6Fe zeiXR76LT8#*<8h1e#yNkW8nzb0r#3}gq>w#%sC0|rtB#i-e#-0ZsF;Waj_=#Lh!Pf zjHK`R$^?CQB_#CaeC`L;O00M?M2nM?>BUY@)!Jf?s>{>}pD{^LB)?Bt(I<&*!jg$C zrqbYbdj^ZSy}_7d$9Xewk4B^WCKyZCi{p{v@TanGzH6J@tE?3US8)a(_1B-bK{UJw zH_(vjA?KNVqm;%%o@_VCKmJfpNwYMkrxE791R4mWy>~Z3k2Pj8UMww$H0jKTH0^~` z8g6gD(wtCwSGmKZ&Zr8Nwu7Q=jL!)-sVt@wUOT%7Wp!j$+XqYyI^A+wLLzD}a%0N4 zuW8tB`S3iwyy86~tht3s{G9`9F8#uk zv@ZYZj;fb1q9)|+f(=P>EOMWETQ4M4&vZ<`Byr1l_uFyP?#Dhb4k{tP$M=OXs3siK z_eXoVMu1yKC(VPCTln}+3-x66bA|Q04`XS@R_6~BNs*+p7UeTI#StW0gZaiJx@Ih^ zhP{;SC}si?dalBS=!Gh+9Aow4Bn$k>i;0*sGP$~Z%fp|}HROQl<)Sx9bB_I$qNB-( zM{xHvgen}C=Vq!?tbIYD|20vu_VvE!n#sd3cE^MVJr8>9JYHFzAjuXy;y&$>PA(+` zxjaD-@pm%$7Kn<;J4)@Wl$jwP@o|t_OceMVjAYbEOzfRr&l}ytp~o%!N+0+t7akZF z7lX{Nhbm2|DqIvum=K{OWCo2wI`{Zvq6CQB4!jbUJj<`0A%7SDx0I9@dmR%N$(BT%p-*BCsb(09r5Q4aI^BHJ4O*X4W z-+CG(ZA_fJa%TM|)*4Up-kA+|`+15x-E(Xe3iIc5j1HR>R;T62_~vMb)_H?_Jeu-S z!}(>R9x8FREdCX%cy$fq*3;EVqfqS&_J6yZXm71B&`HrNs&49fAc%{R&gCm~C)s)~?FZqMLkssTl=!yH41y)s|$AY3ryfFZs~`t1%6$t&Q5 z?~LqR2yr)L?xd-cfCH%)!^JrGN+=>&dtZX~SXobDxBi$cwn6`vb*W|0!`Y|(R#2YF z+X}^G0>+Y=UTLOwv@bRLqehk2N3M4}b5Bf8W=7vDs!)G6>}^gKf}5Jn*3haTL$FlJ ztkChr`p!0$t%Kk}z`Duf1R5OH!5J-Wy$?&C2cV}WeNnw7F_%bFq*1!aZ~44NA^Y~A zr+_gNqSk^Chp@w)vpK1~8HPKzzp4M~68PHINFaZl06)lb8*EY0wa_5fJ=oCl86LE? zRz%8}lbTlE>(Zf_M=M6r%|t*#jwgrf=dxgB8)Isi*nm6h}Yz?$4Mv8Sf~ ze&NG}?AM?68uB=!6sNT7>@MttXh>A2?c{f7rW};5N-eaPw>*Fnvx*y^;JZ%GYFi?Pfklk#1_4Ae%Ri4zQ{x!S|2?VK*I^Pm!?-OYV zcD{1#9U5ItAm20W+?!Qxv3y(>e17NHyLSAn&0mN0BK4Kq7vYO-KIfIH^fUSsp1G5j zZLGzUrd}d=XOnCHh91ox-zSd{oE9_M8zY7T#fvLQq^e5-I-q#JjQc{Q6`OHaHgReH;C(Wcki ziMeVXQ4D8~7nLkgoj|=wG|IGEE*> zecrrzqCJ9oF|_I=Z8zA}7sy(q?=jz21>T-D*si%A7>mN0i#kd+ClV-we7DO_zmae2 zpcV=iFg`SX)!6Z^3kj={?k&c=l<7$u%X=`lLSHq-CXJ12mDyj?_?E@3A;v4(R$lvv zV^^HlbJWZwrmsUh0&R{T^0=1zNXm~w^MZ2(7l(A*q82=*zTozf<~J5dStIZOU$zpP zZ)t|P;&?tuyz#ZH8m}yAX)TTK->>)Y(yOz@^uvEr=!YvwQiLPZ8ohE}J~`eRM4n8w zbETDLHmOQaMTdnes7t%Xk9`Fxi~-ID4=nZMDuowMLX1L#6(p@=K#I$fls&tqd7#hn z{>Oml@4B`joob&$w;{bno{9926@q@l3yU~!PXkG>cQO*D?2JoIi^iIs3pWxA4(nlD zHw=1}QiNtV^lP{~-xn2^mKGHk1l$iE8afqGdn{BC)T`*JKz2PhWuxf&_H57@3KMSr zcpN@{FV0ot%+dCrSscysoHWK;>-o$ZZM2lC>lyC!`8vLFICy2)+0i;Rhb=*rde^1GauhenX|`;*u8`rhkuwVh zx=F$g`qiMB;W7KyEF0Sa_AdQrSI&iuv$wuyW5tdKOLpVwGeQ6D>RJK!hk@`dG$AwJ0;{8v0r|lDd z=pCSHej1aGoolQRFq?xLbA1UZNzY>oq@P2>1e>-_!bZ=cDFt-p3f_b7ed`BO3eOM~ zk*q?blLgE#^9HE+AC%zlhDHT5w~~7r$N~{2Do?SM?s$c@sqa^}RB1L`8jEKh`KJ7; z#TSbg&~OB<--kVJlHc5Td)MY?4NJ+lV#3Oi?%0;ntb9;C<$wc!M+wUsA0V))dlMg4GCyyKynznhsW8hXW-IAJ6 zrmL=-nXAS%`9tTO5=2D_cK?IGwZkciIy)U%zeZeKg*vkkbHk`ZB^4F?J$yt7T z-|ip1ZDX@5-)T67Pgfs;0_KD;q4o4$?$Cw-n)p?@nzi~v^Mtr*pcGzh%FXHCpK>;Tz!=UKh|a$IA9JSp-J&6!?LchC{*Xs(|V<{b`LfxaA z1xmlKN|iZXW^Qp%Q+86)d?u*GWh_10cD`0!c{EtWf@`zj(uS35`4ZyeP+5toSohlI zHYE0&%e(9HW43RpA8?}xEekWHhc(ctI60D^YP^qI-jM+ zR2i4yuwitdS<=r}i(Gu1jUIdwh+DKIIYx?|_X)x_B)HgC4)5-N=cA%i)=##;Njr1i zJ9+0-!@gSfxqalf+vkArM%FeD7u9*21C#3|6)ZfuDgh6ys5)6ft4!=~_5CKZ4XKRd zdri41YcRD;J!U?p)=fV-Kg1q$t1ZPe1pgF%hSOhw0n5w@yDPL-bD`k@wtLPa@L=kT znQEi(@ zkM+a{6zG;6O|&-)4GepQy9Q^QM;0Qe?9&_1Xs&zE$Kd0$T%>?F+ zPbVsTa4#9_FsyKYTHKhvhWjI@+Liq0qSCl)CfwT)Cy6mM!2wHUwS)N~8AeG`qb4_C zBz1)|hOgG+QX=jyI6r>y{Au}CzOm!xKJnL+jvstoz3l+mZx8%bk(hqA{#;xgAA7r7 zvQbU$IrlgdNwj&%t2c_uMGLEX1TxI15(Q48X+oY=Ny({u2%JY%<|h>7qW$Lwsw-Wo ziTl0_t#OxL9&OHu)5%S=%C}&|rp0Y32)z)?l{_PD{l<98RmTWpydjULAMl_^l>~jz zAaWVL3~AFg5vu$xzdM8v$&`z%&esN zxmlpNR*g|6Lx$Ni#vi-%ZMN{i(ti04Z@U_CIhzKL+M!+dBwly4JQe+-Sd5>;4~-^j z>AK@r&1p%gp%1;rg0H|ro|;a$u&rj_W=@#QKJu9L=5hBUdjs}UYMVFI(giU;SfW*JDxs^86GC_GcL}j(D9(Rvm}Ce%%)AD zNvmUo!XKRC@j`31m(VCT{rK!+K<|_6g(kuA_5fc;;G^ux1z=0$MSoC`h$J58z!Bdv z&Q;UoT;4x$e5N9JR7d@qoO2%dqwG?-RZN8afUC$ zKR?awla_bK%qFpYCwNS0WsXm!>I85AuZ4lPDca%t_*{&qT#rS@zEZ|tMApEpE58rQSHdwJmH%^0c6 zM5c2s28G|u7OhnlB`j01K~#ZO2V3~%$P7^V*E~R?j2KXlMT5q2BEy}>{n^Mu=hRIV zlS0*Nr#!PS!TNb@!1xv0pLs5beg-%RIZ`ceRzPS`N}1g_(Ig;0k!FN&ef@Qw;cWASl$6pw0{+UNC)%8b?CQJ_rz5{c1;Vgw#cOI+T` z@RePjH}5J5r)P^j{f@_I*E&V9zTQi8w!zsQnKb25{Y2Ro6*ZB@-VzfrUbmAk@T>}i9`S3&srH{~rs?y~T_qNHNKU|Ldls_4FUH)jnBdFg;Xuw0k zWn1jfSomzYB-5f@uZ;Q}3WRkS2p^r5Dt-hjEKrDcw~%>)b=!e_xfj$!d-l zpF7YzNYX}d37D*M$GRPK1-(0>Vm~^wQ{->t%u6xZX56mx4@;f1Zg@z_HYw3=8pJz! zja7(tb!DG5;dvY-3ctDuV){a}F~LnA01)~|83|j~XwLDdr$bfDNTask!Hl>EP!E*R z+^J{AN+-#eU?*3JKf_g5g!=-l6Dy8@1?r^z0QQpl0iC!->;KwCy}rt^xTRei8Ee{I z)qLy1aNR1)P@z-&hN$#~ZOAbTO+k6X%afoq#?NnaK=JplWpPjA zwp6n6K3?8>5TJ=|3Et}e8KgJ3;IWc9we$t_!v3jVKD|77@8gCmp`hvPcN~`a_dLSh zUnv~$41X=L2O|-(1oAz8FQ55`O91i^zh)F*jXa-$RyKh`sW(!W`vn>o`%dRM^XM%X zb1Xzr+I}8chimny$(|;k$fa#VF3aQcJXxP=)>v^hqVzRgyv}tlMFr5=)-vJ3@fR?+ zMML#cobR4X2AC|P;7T8eTA3h_01uf-9orBChaNg~Oyn;oPMhrOTr~2V@Ge;K!CB7=4XmL_{3Y+xuZ>nIS$15W z-%tiM0K7To8%$k6)FzOYB!E7PF!!JNT&;6(bz_f2J$F2R)TWK^VY(IXzIOs38M4_< zVYFrf1e`}w_rj=pP(m#^md3bqF6%agsMk`aA%Q~)&SMz;%0*q}bfI$Or)HMj}epi%Bx&8s?8 zb=1j+o160@<(Ou%$&xM9c>Ldq(Y_5iGTaTDdGraS4V1SbCpY=($`-59V{R(pg&Igs zU)Y3qyONIxIBW~?_wb(otm#+eNCG(-&_41v+V=z|P9R3AIMCv_mJbq=QIOHZU>W z-0jG3nEFXT!b1BkGJX8BRpHH|#`aRd0T#qHWZhnC#F{9uHX{One4xW9@KD!fz$SY! z^xbH>V4^!*+*pTtL(V=b18GekpES-qoQGE)ux(R8z^#V~w`m$W39SegqpWfM1+Z@o zcc6qt8k`7$uT zaZy2qSdhIndhJR-a)b{VX8St@5#-HCB(57IV3863?`J{hmSpKZbiQqf=?Z*{j9sx` zQLs#@iT&%^;0_mc|G2|cnn@E9hpmV8Rz=Z$G1LUGR~Im8J2Lps{Z#pvdo^$vUR@?K z|3yIlRkC)NX@^Vx!A!930XHgzsz~!{hE30HLz=N)|J!m5r0G9T^*`S$cJgKfXo2~i zm6RR+DZ~HVoj>on24D=MA>6M$#{ZJxgasGQT*T&+Yq(Qu5|~G0WfQWGH8UvRei&3q zQIEUn!d9>J|E7jO5Dee{7O}-CjQphpo$ics>nXXZ4_|rI*vA@6j2)+|gk5*y`C=EY zI)S@wwNR-d8&e$&Bk`ZeVp>8RH_n$AX5NOd83-fq%X{v28nd~|KGcnEtZGSQdn;^J zN4yFGq!**TC3Y5im7E^oZ%TnKaAoh=DyG0mhk>Ri-pSZF(#8Cn9%jLkvM077cZ!sV zI@DX(-Y4ihL^-URmqE#EnJQ|Rx(&HbK>~553!+H(2UY0)8`}_IdVoHjO9!S!0Sj2q zq!78IJZg{X<_rZbKr=?2n;dc z&Lw$R>MF(u_AxLSIVEquW37Oy&=FbS$~31d_Wa{&;g(o%9-KTMh1v21nrfD^*K3$6 z>iYZYd%+#X(m52hwjs%DP|`tghfFV=3~vy9R%_Up>|=W`UAn}Y zK`mWw{^dSw9O9?F zQ5VbtgTDe>rdRXS>G$fjvy?y0+##j(Bl##WW+OJM#yt549X3<@Z#~IPi;hiY2!x`H zj&G{6`RbWMco?_l*QfJX^)DxcRJn;y8k9lbmgYFZ^H{ZY42(f7$xY{O2-_Z??m77F z^7IcHytM3`DNzpyVm(y)nPAhDNY<2hnhw`hIA4a6NR=L}GU1b<9jt)&QP&Y2r3-ZgF*q$AX<@&I3hVSPvKi$$ ziNAFur1X2FbW_}Ao={Xdt}>pU*zy$HcTY;=ut;!56=lA305y>$-3I$4RuP3bB;UO< zNd3Nem2Cw_Wi@ZS^?HUEdRNLW0`vI#Prbcm2SZ0$Wb^`n~9=qmuxc=K_Pwkficl8F=>N_Z!wp9ZRWh4 zjE2~YX={<@FF1I+mxJgBnzPO6${OB4Q``hnS?r7<@lT~?7;hm7uZ0sj=!cdaaBfvbEL@x!4Z$lM?NP#4dmY@xLje zDnmlx!|3YRF-K&6xne(NbQ=O87zqslyZpihO8$lS_>jaq$h!S=ur=P&-@w{fHny9) z%~pfRPM(cM;+E^^yGCA&7{JD|Hm!HTrsKCEGGr$@2TaR;3$=q7g^)zOs7z$7jEn7! ztto)RBXOJWknLPln;gb3<)Qp-f{0gnyyDGoFfzmbh)9c8FkN*R;2RBkpbY{jyK#-b z8~6=m_khdt0zlnGG|y%cDv-PX7IK08f!0~JAs7#SDh;tEwFMQ|Mu02)1=arrxwrq0 zlA!ZLYCzK(&^75QZLGVZ{(jbL;Au$hxCVK@*&{f)I{Y>rN93n@H;bepa8wi;WZ9<% z#M{1V2W;e_L>SgFKAp%Bv{B$Y8-N_YC|P=;*9_)Cc^|MV2X^rN;&1q#s5drNh7eC& zUcerY%;0|55li&lF*V*4C7<2M`##r@t-j2^%mP1ER1&}{#l1i)O99&kii+maEq1KS zao9SZA2=wOB?V-5fAz}GyC4c8%r(h7w7v$XiYk0SPTl{<28V++_AGT5%RU<>L>gUc zN0HX#fygp{xf_DUY7j4>Pd+TI%BIcIU!g^#62at9M_;gM;Aa1f`TpWINi3=aIh2$Z zQg3%R#huaL_(uG=poCTQeK&2n{6A4`8!xw;>U~JC0pFP{QqM)3#0I7fqWbg+>pW4T|lHdtXzWF7*~bKHSB6 zu{$gp@I%>V<{a%=@o6wKj%~*W1^l2w6}<%Z_BsVY-Ldmk!|U+N-~kY?aP-QD!>gN1 z@O9O#*~Y`?d=76z4l!m*QCoj^asWi}Lt2Aso(R9*9S3%2F>*#65{Ch(-aCQri!Iyg zU%@ZFW?ctkfO}Y974#X}3N`iAq$7SF*FkK(6;`2D00v{zlYo-=CEt5E^LVRSS0Qn! zKs^iwjJCEgM|V(f2g|udrdjDxI%&rh9{kr%MgB4nXXGgTJobNsHzW}M@m_xO8vo;y z{mCo-cM|y@PxJpL{~7T&`OO2yXRzxtP&F~XR1K+f0Xve||3YU8OwZ5Hc0v{Is4`t( zmSbvg0EKKu^wWEnH0f4Q`I&f;_&uv4ORE9A>7{Ivprm$llIG{K7sP)2hSOo=KX#lp z5RRFHu8CgXQO6*Gi8)ewXsQ?l@0=Is9JOn}X=(A@)qi`(Zn7EfIK7-S=>GAK%me z#VP)jJ#)WwGc%Rpmv@-|%jkpie|IUTH^I=bnrHSu`G5!gmq*&yh5hZ3Kpbu-G^OVR z+gb;Qt+`ki5`@>WH+t;}yV1xebCQp-vW|&F$Z2?eZ`iE!z=Wpw9@g3v# z5}DrzqtcKLt2DMX#=jvXU=jac!M%oAK*Lu?JznARA-0TcLWv0Apj=GdixhlKo2G}{QV#`unfx|R|C@i4{H45 zCgpZ3qQ0kox0w;6FwEV8P5h#pK48$S-x!H`Czc8vi#y2dxF8@-ivJ*^B_yQ-J$%>3Og+RI~jl9FNJo*_1`%B&j$tW2!{L)J^p%!_}|IslTzac$oSWzz=JV? z2lL$_2auLuWJLZVW6AGi1dttQqrV+R=U@j^Os0WwaOrQr>ManyKOw7)*ZFhgLtvK0 zs~t`D$Li?=zMoI#oIhT#pAF}v@Hvp%0rT2hsL@7wC7Ur+L^Z5kY})wS%tBMEd zASD{keFT}IlY7tCYWy=Z$r|8jWtqI^r-0?}i7QJj=GogR&yL^!uo8rwzMT^O_;iid zCUs^dK<59TJw8ATTvO^1mq6D)ny7a_VYS^9|D;>Cmm?+kQiGW!1-!t)NZ^oW%~b48 zC7ML4K9>XC9k9{ul&}*1*vw{yJFvk9Uwve4C%OpC+JhEtK3Cv3!Y@@2>pbnmPIxQMb-jSXAwxt!al&fGTj>vlc5;>m@wYUPe+*T z^Lmoh7suDUHZt+hATMI91{0R1y^vHB+W5&MwZ&H)Su0BCLvhf*U!E0HtC;^%TKF>& z{kHM53^e0A@Km47&$LiifNP*fRYe@2KJAi|bvUIer)WOe7>d8_#J+q-a*2NT?T90s zH=4{9O<$oGZ^2)2vfVrHp?@c3i+}li%;uID*{Lp(o+Nhm!4y%fsVmX z{RiJdnvhsM^gV{Bp?{9-JfDYRdgat2eX%6}w3=jePi1LJ2O00gPv6f%QNU4jk+rwh zK-j{%MdYIQ!6;IxRz&RSrP966j`!8H3$~Wc6-YW>5h9B)+R(4kk>iMX1mTIrLK7Hz zShR7aN8z;TjhsxXdiPs=bLpO+cVqp;7ULQ|b2KUsrE<_N!X$+@hc47B8)D5gz20<$ zx(t2O-8vRERW-4dm|(kAt)gQ)P8G1kyeqGM7TSITr7ln|RhIjrX{$|`_0F4L3HxCI zHQYLw!3^Q}bN-$qeanWfDH9A409{|~49Pl`ub;vt{GUSY2wCB?>c!jAs4!(_#PH z^^bqL$p6VX0$HE7KD?!c&*Jjh#HFjvxHx3J47wQTpg6JXR5_JLz~J|; zITkG1$1;RkK&Lz21!6KY8Vt*7m9;~*_}J97Ne|npV^ETm%0@N={bn^g;C~?){i-I6 zV255bgiWcnBMGU6+mP{S8ZSo?RcPxVoZp^+nS|4x)FaROPAC|mztdN@fbxIog0;qy zkBK9x7ZzZobtv&j>7qVtN)^PJ2&o^z3f(kbGi-C(H!r#~GS3jTwFxa}17b5ggp@`Q zk8DF04YnaS6j0lc0Jb2Icuxbj0DioS+G1G)YvzJAktzv8p~bNE92S61$2U(+W>J@y zVTn*uklO~h!h3cN5Za3Z*l4^9Sucw%4x;U^K+sv^L0<_kW`-iHY!plGeF>nM1Ld`2 z7x+Yhv)Q&G{_aSdy|UQRJsqTNNY-x)sBA;_Ez-L?tE`9icXVA~$!Q*wWoHRp|NOSJ z{PWrI@&=?zoy(pR_jrT+BYFZF$}(##zX-LRb9{85*|9}4zxT%&Fa*PXWcvjgLF$Xb z-VOu$xf+%ZTj#eQC1WouGhAJ8W5LR+Il|9ZYL$IBZ2-OZ953AjPm`%J{V=H3VxLp~ zL07#NywL9C@8!~eluiHVlT}-dDl+l-tPlGfGFq5roeEz`iTihB@P98V7t^Fe=`|Pn z?#2Fum}!*hTZB+;QmG0*E=eGc+MHAlO2@AX57H)FONd9X;^D5(WD`S=I3O-jO@OhT zpntxGuA1Pum5Gil4$oMJ{eT zV;*_%V^lPrm$#|d<$!nWRtR3PoNQmF;~!5_8SSNV+fzhHbIySP?h)ZHjBecrFtrsX zixg+hx0zk`LzE!D!1~qr5WA?#1dHH&?tK*D@EoqeQ=sjNc|B_zvRgZNIxl)`*4ue< z(|BdC5%Xiu0M>44S>M$|OA9I^PaT$TUuB?zNl)95XpfbU;69A*ZM#|}G1sXkCn~HS zcEl3^Ox3dh5bTyShf3vN#qq2NscEA{KG|F=KgVjp+F@wEY{$UQaHdEfc|b8UeW~B~ zNe+_z-l4T7XwN&n3(elw!SqZ)^@A5u#Ua|tVww+{-fuwbqDbr1y&y-l(iaz=^7dW? zt^4e*a&>esP%>#nAIDg=0S3<(s4BYe($orjg=8j5Xoo}y>C!#*SaZkh8vF*Z~A6I6FbMj-UAvAs^&z!e28Pm3(_Q^snAs%rC8eeuvJ zP~zo(4Hz#lDT${fOWxtTJQBU~ekT8xU)0kNCQWWcTe(pWXb`faDrlT>5olSJ5vFg@ zPz3=JRH^F4>kW90qVU)_{jGA_d7px)j*8QP7+J?!><#Y7f%TC-YZq^^@nMp5)5cwb zS;R%^U5tCg_*v*e+wO_oJ`DHvYi&b@5n&$R0pl=g`rY9XALNfX%mln?E{(>uAyZg1sUPC^ZLvZbw3Y#-1<_D;tQB@q&I^jP7;Ur5|}n zi=$o_%v+{jJj?)dAGTD-GiDuaJ1xD&sqm~5%{;|I$||OLu;$dR!)~}8G}?+9HK3jl z+b|apzPv#I_^$knMwP- zyWgV}&yWLkoJa<2_t-oyty>jFtIEf{S5hwA@((nvik2;*uslhH!}V`A=yF zG%3#fJjx1GC3Ps zy`ty7h`8z71|=8__f2o)yW4t85xF!v*R2Y|L`?KM@=K3D%bDJ*#*qXGOW=QxxseVJ zec_R&`4eT!G=ocbJS?noDCB~^{$SZYuGq;G_47h9aYi0z zZ8p<1)t?yQr$(({{+@ohXFR$Bm3lQ7`VtIylOmw%3T=3Wi2FiD^UgD`$5y0KC0$!Q zN7RG_qe#6CSYG7F7^V+1@;&EVctWnbe^akkK{%YGyw-m9;GlH;m?}#UMSB@)v`{x$ z7LVI>?u*LWTd6=`6h})Hd#g~+BWrzu^;_=8HufZOqO^MDm@w9d&J>0;ND}YjhgItZ zQ#82?&y+ua9AiD3#9)9IxU^wk9oA$w*?&Yq=W;K^AN_ePEx5L;uBCfyEa+qe^1!)0 zQ{~K|!`$9N6j|!!t}2spTUT5iou}itlvL^6&lAtGvpGM!etqYRz{NYGV8Dt|29@VH zMZS+z@QLIMebpNyBoJz?H5-$p`^=$Ac~kBD(AFtQSWvN5PzzBypiTMkd-V^V=nroU z{OF*ykDv>CK3t+24BbV&)^5M=cvL`-{U%2cAzg#EFL|}DBf$m%G}Sj z(MHmx@LRPx5sx<|aS`&{BWztsD7tL953RwGrg4DL% z!8VDf?W5i2nk=EZ{RMJv#N&0_5GHS!WZqbqmkMDhnt8aY+n%qe^fs6P5?P2DV;!Aea(uK{mL2-QrPEtm;Eo|PrGxtF#o!ONe`T31OnhIa5V9u8}pXe2FG6WNN zN4!`twXFlF8W03|w&}>?FoF&_szO`)*f{|u8w$0{F#@f1lKyQ-JeseH$p1?2(u#SQ zZrvtx>74D0&psa6S+B?6=gz7jO%?T$$!J%PH*+g+KSU{_7Tte!9I=Obi{OiOk=%Xv zdghs-0(scedUdfGt&{6j0k*lrQW@}$D)L*SPuN16>f28UrgAzP@Vzy4($F;ju3+cUcm&B( z%Q~0fad7jO_D`pF&2cQ=LdW*G4H4Zc z`KUiGH{$D$8P}ivetD`S(EAIxt_vsNX4DoN%;Ih5TQMaE=t-C*ayR`uos-^A>9l(-XCN7M_D5?*s!)zOG|5ZJJ|9>#0Lw4^~#_V{YW$|=~LES;VLnru~uy(X|3|Y4`5Zl z6-x}mPqzvReR+e$=)!UV$kSHxHOB*4=|VFY!H3-0$G*IuQHn`|Pj0l#%Yp4>yh3mD zJsqdNrEtdG&27)z$&*(w*rju?6Fm>1uUV(nZM|Tx*2K(zwFa1CP2}l^t(Ltm{4a)~=0Y4kht<*#an19wPRpWR7hX|aFCku9vx#m^#-^X*>=Cg|He0ZMv zn)d~-SQ6e*2$$!F(J*@bNU+`OI2dMw>zJwn4vE%38%{O(N!7&fpab+0HjH7}mVW8e z!ST#r!!4B^)HmGDUst+(Zk3hI-khqqdJk2X_jDMH(;p5(>^ik7XEl!9PlAW$dX^N~ z+W5RRnM*!d6I`q zwW?AVrFKh$g$m^ztBR_J5u9TeHb1m9Ta03Yk;K=l>1ltzM3eZ)DdI0DrRf0;x%T)S`;cOe(r?3*o0NUu#Ma&^-N?j7j6YhG( zdup=YtB%U!7urNWFNbz(1g-A35w!JulcQL^*#r1t9J&X*eh9k`7Lcr0VfSqlQ)k#kvy_a4Wm#3k@mxGqdrt`ZcH=9kI$wRH z{(&bwzGPEhTnBE}wexzv@b5Fp9|i;}>6&#@deSh_rYUJ$u{&z<00;-3B5_eJ%KadL znGAvAc{c`l`kkd*?78Jcb~ItD50G3i0n=p#>Tt&+L1cxM_$pA zs^oLjY}00t$EvO$vMpV7?KjC4En7#(%$|h>A0)GH0D6v}_suO)&O=;Z9ZHRoC#02sL76dx{u)Dn{h;9w=-7}>}k6~;s8~@c)qbQjaEW$j`T~BSV`n9;U+zXJH|x1};Dz;;RJIKneCkp9eggWHU|XU}}2@c4T(>nOpdY z`C9CW++LWs)yDA)-3s`e3v^8STz0Q!(8fktYd&Z3~>gOk+Ga_9d z8Ol@ARl+m!)O8TOuLTMH(*vvqy9o9hA4v9;n|HT{_7ZzvRNY)q}wZa4PkeUPhn)b0Hct0uxoH~U$uq~{DJy~l#eEDM}azT0e11P zjV~8cqDY9Zt*T@Z5YZ7d;+rR-CzY;vjWMoy+*_>C)Fkc9TKJ6F`M7#&=D&y2t7(bX_9zXH^dS|}uW%Rh(FKPxyht24xQ zV|ISRTqnhEDq_ukkqy)+GjC{0obT2ago$K>}5QqoX@s0))y~-Qp9+(`WJu?+5j6rYnZ48j+$9-M%2H zTC1lZdC%Ry;bg-U=1OVoxyiA&&Wk5_`V8NPdIu*v-{ds!-7{75iH1hr2ZBRA5Ky~YV=K}8A+@22TM8=G#0sh+F8CF{k4xUWC{k~f4@~)uyNYcSPS*s>eodJT>$rLDK@;}t9q4t_UKe|w zHDT`d5A9z?TjtAE$tTB(nfnq(hjKD~vd2FU9gp{3y4ZgYc6HsX^e}0vrXnaL&P55t za;25pXuVtcL3QSGT-j+)cu!M%=etOlG3cT$MGL$FKu*KO&1Vegj~Llz8(F6GPI0e$ zw6324r}nrGt|m=OlvCu9wQ4XcX43hf1{-4&4SgcdRD6Dz%P5BBo0-_(!FFq)CnHojZO6P?S)#8$Dtov|>Vk*8Xy4QmZvmo|ml2p}nWeNc^P z$i2&-kUsEyRZ-?Wml}P+fASRZyXUIWBf5~;oca5pdb4qExp$w`=V*qj%=-tqD_k=5 z9rM^+D`00)J-DC48`T8tVgrF)iS&GAtJI48`ccIv*L~xf6`Co=cV+Ev)Fp+c8G7fY zVa0%-Py&3qd-m+!qNM69Di28{>paRKIRI6!z!xl$G`)Cnzhp_;bG-xY6OF_(h54PF z!Xs#coyuaI8%2f=2G<{4Z~jn1SgsH231sAdjLx|hHu0=lQF{15lg3bFwQ*N3EGNgF3u^-@cwG6!S#{a z1<7#&CI|KyMv_4^C7tjxhKBGmcE}l9Ji}yJifnLEkK{hEZCC#}%`^$I>CC-!ziW+T zCv3zO;+0wdl5lih5MAL$>mj?aO(9va50*hZk)yOGZ8X8lt6A;*re;H4UDV))cYa+# z1cI?(7LhpWt@~{bYZgCxhpoTL_uQOsWhfyKdnO6-($N-iCzp27XO+N3XX>PgQQiDF z@J%5j)!;48xm37yzx&J0wq{{l6vdLcqvjn!WpVEa;+1~HfV*2`5({z9#mX1)c15<% zFFdCtt?8cL9zX%S(iLhRMY5}%TrI@we1h>8L|&YppA23VwxAzyAj;nIDJTtEzfk9m z;i2PbCqod|Rd~LTGFP=4E?nwxMZO|R*BrzVFp=&aw+GF$Vd-!#ZzMsaF62ZR5gJ;> zKT2`g8(I;F*_$mGt~Rh3&M2QVwG9a!CYYf5f=0e*at|N7NY(Z^f^3(Q+7ln)?Rq?! zq5yyY#s%}Gjf;N3o(R+R2Gs@ohZ3JnJ6F7Nl;4K9h6;7a0aL!`<)h2ZV{p!Qd0{_h zd%TbWkEL-noon&}cbcA-u$h*KCA5IiRKkn_Bfh8WVNQoH5pYL(0qK3uSZU6%u3XKAf`QnS4F!|kddYMZS z#&lHyT3-IKh%djL=Y665O(Ns;G8g+9zo`f^-K-P%jko3`!APN zM}$hAQ0J&SoR;!X$h!c4hKxKIdSt-BKbWX-F_{*w8=%J<|LtZs`EIGx0zrZ0!PRrR zS1>Jk8JF^4vN^n7;88&}hTpRHwIb5$d+=Vb-dwe@!|e63&1r`7ZY6US;bE@R-@>oP zU9-CH_F3fAVXlt@4el7cy%f~TzGdG6FY79uaTPO(7-tQkDEbc0+m5hogycDy7Iiw8 zn{gQDgBE*NO&hv12{KnGAv4ZD6AXSx- zHx{m`T}-x!LV&m0XbqDtAsa;S-x}O_nMfA2;t@~_Fr;dmCq8)f=Ny^veXy7L=*7w= z>c`NY;X3kA{Rx4-efuyN2RXtu?PZCY>+mYW94z zmDSvOJ;H=Njf=J9Z=*cG!6&WsXvB^rGSEB+Z@iQ0_GV8$g< z`{t9JG|EeC2Pi&L+y>)Yv9HRP1od62(QkCrJf1B1(xOSW5oTGLGS(R$>SSy+^ok9P zpbif*3Y9MClG9E9M%{aE6iUnA>#*uRQfI$_n7^Bwak(rW8T-kiQ{-8~dL z`|WqUYR(R>rAc`MTT=7`n}F&~q+-f`_X;qk@@AAFvFZ7fhsMV5#0;YG`t7=>>`LRW zSKYVRbYwSRIGFXWo6<*t`L-(@qhuFB#UkG-QDg5wfR{p^Pb1Gu?BmnvA_Q6 z!J!Zb3q=-ZEJUT!JBE%~@u@zk(zf72TFmV_G6p%TC;;`8|2Z;kuU9)&Wl!Hf5AI`c zFKi?MS)A%F)zCR$L}IM(e+inlEMzSxm!@TP)>V{NHu5)S&z`Gz_m&nb(kjZW=I`=! zKJt^q8{PKxiWL}|loQ}^l?~~$+Ucd21`zlbM4p z7tz0!eKy}`i*m!alg>bULuKZFrEuCkM}?3dljbMCmS#Ho=3(yT3s&duU%e3A%E)ht z`3CQ&(2vA~b1r>C`zahSj))1DN7m05KU}Pkl}7u@=BUo&FL)YE2cVwOB>;@5;cEs- zQC1tHn2)`;PH1`=y$vxmXO33ogI?M-YW~8OF@LCdUF9=)y`&0=HU@~QIAns_voCkE z>-WtTbJW#xx#5`)`oz_-nDiytzJ7RlvPlEqgLo|KGu`!&`*`BxrM1y!=Bb!rH{EII zOKh>*BGA-(S<50^V8`9(>-$aWL~S%gNU@d$42?bE!Z9P^&&r#ZtcLajN!9@eTqv}u zX!L)d`_@&@wW18Z`D_HMpM+K? zal3{5+*}&5Yz#GR>5UzBA*HV8Vr!{2Z|p-8GcIiwQu4^?(tr9Y?QTVpYAqJ*X%D;<6J!Dd=>ETm*{Y6xVW3+shu?{c&#*e8_Ab>0ZzhG4G; zZyC`~I~+Ff7(2OGNR3!$^@e@5%28qF^jTiD_-+6M4;4_@6zU!+f*`$hrjAR5fbl4` z=c<^TrK~D8L!P`1WtLQZj3VHVp<8>q8BohUPO3Ax9-ImpdFCppRkBW%!xi5=;}sPp zQ--h8To>gG(zYRO=tJ(6^aE@;Mh&M4z)oJYPe2bMjGCXQ6j-)C59&4`SlHLSI%A#jRIY+iSRsp_|FLgTP-Fp3i% zhJ8%a7h!W(plJ2vK6y;hE1pWcC6k}@)s0b4v2wD}t-dM!c0Y|lXv~fm2QAW=TSus5 z+xOBrs2CVwUa}>5u2G>Qel7{?29L(gv8cTDT;!Ae=(cO|2d~v=5h4^pP)CuZ^S!)i zBBP+r;jnw@2}~hglbHR?=)_mO@GUlFT}n|VBg{kH{}k;_=eo3u7l)ngaCja_K=h-zRkCw8G^m^gy7U(25lO zhz;%e`tqw2@r;ej2WN|{Lq^}pe?qX}mCJ3swE5Z&H}ka1HODCSPK6}y%O5(CbDM*d zg>Rvl4tnl&FFg!P^YOL#iUra5k=UBUJ-)|h4U9I@@)e4*@hYy%R{x8sua0Z-{lZpJ zQ9`6aVk)K5ARV)41p(=pN{KW`k4->2MhHktNi&en(TH@89xwsvO=__Cz0ddk=Y9VG zK72N|hduXw?(1CVI@j^wY4h3JsbXaP8e5j+InRGq1zJavm>`geqNJ^^i<9^o1`$zY z0b3)-@sWHSVpZ7pR0P@jN5% z5Va@&DJ_23j8;qHWVM!yYkX)pe!wlEx~zom!ZWbo?VqQ=F->p0juD;oaBLT8oEpp> z=LFH?8iGED0&`0=7)^Sh%vL@kajRh{$M zE#4yP+4iY56p4G0s6lu%BYF}DxaNR(j}u|1KcpZ;9_Ho)<{5LV$GmN^vkZ|P ztbUMwrnH$hx$hri16Lezqj3C&%tRR8m)_tJ2Z`JE;GIJ>jEmRK;@PlC03LfGnl)h-=}9SV4v&On1%>A1%*R!S}sie0%?66f^E}3`nT$) zZa=31`Ez;MP_Cf#A@8WZEU5lfpj}k$`Qa2tSj1y{AeY)6EHp-WGtvd!3kSMrf9&0V z)+4l(pfX^7zNZnD^)!9j)Uy47mm}-7^7D566F)dTAy6b@R_9mGdG>Z+GFt5vGTV&_C`W! z0(VT#3@9zR@hF@ZVqc>Yszt65fw2sD-6yzpDh5>!r)pwao2JFyACda4V-0TJqsyX}jG-ey+Tau7Bm{7yhBga>PzbgN14TYN7Uw-qNdyRPlt`@mx=w`OV0zo_d3t5GyEZAdphF z%#go&$NvRBxj3UwPT)i1PnaXcAr)#0YGYXpH}2q&yk>vC?Qki#!B3JYE{> zR&HtW>YV;`IJsSZ)^U2Q3dJEvJooTK^*U2;23nFNx~=}a>Q<&dUFE?`-}~S}HAicB z*EEV-!0;5%<2?LwG2&373Ksqj*0)Y6C*8(DB3xaB1(r>_<1hQA7%7oZ$1A zHF7B#6Aa}65i>-8{_oOW3ebAnYw)YEs`}N?;9uwf>1msjPn@@#24Tm~BnGv*iC8e~ zb-KSG2OuVf8tP1XmX0xxtsyx*D8j}Xf@L5)q}~rBnqCJ|mM^>O>UnPNvTf$qYNkYg z=g1~Ia=(rDII;~uFWu4jTnA?OnGIH(tk5P;xj1s0UbtMT&)lN+lBPln$&48G4U2-$ zpjQq5E-vE8x_jV|qfI@=NVh>@m@{b`2O=>$tVi@&Jv|X;TI$J*311fNBM&yWLQj-z z9Hmx=(`DoBGh|e*B~fjplP+jKmf9nE zbM*go;W)2J<;_C>Mm0kA(LYG?I7;yd zTYr@2^#G9OpKh2J{E>0fMBm(^5~KHgZkWIqA*FmxyXjZ6s)v9Oq2E&s^ar zecFSjaAlU}_P``2Hrt7O%o|-nA6ZlFtb;T7q*8gFSZ+~)+8O_$WMEPNoT^4uuQWRX zarQR!6S`unX41Uhinb?8{@x+K|Lvtwa9d=JvoT2cJPCVXOBsuObe%=Fqfw;%O=lyw{A|-0fRY!3(CXWnV{cNG}f^ z=@NCE<5<`ee_ahzvv>V|?J63WETauxEn1-imb@E@&&tX2-wBd=_sROkiX&wndi&>lzJX3Ss&X~h|I&OvdYjvI zH7$Wp*248-Kz#5}YrW>*o4*4-M1Oetgl@L8n&w1L-*3+efvOINc}ycUiFj&|2>|aYz`@||m*5xE$G-Alwy;GY z%^0t8{JT&NA`1DGN&Pl4g{mmXgQ!61wx%c0JGcd@w88lB9JDBd_NPJ#om*#`o-A7g zeCtYkQ^_@51^wVX71f-Xf6a~2O)mv-=hv?8=Vvv-eBhg~o*oM0be56jdI7?3fOG;6 z#+!tKR}&`o;z(*(`bjuXN4C8L>U8#*9(Ds!oqqqT0&aLqlFpRId2YcwsLHPo<&S8zyj>cPW?&j4=>JmQ zu(L1k+VpSon7PgTx^RsI>JXdCKyBq}EUtaexkWEVrku^@3;XLH_n?*=N5{yj8^4GJ z{|daE7n?({SE)X$*@WS#BOfYNyv$9mC5c{SpjSmgDx7gUs%a49Uzi`^jB?WiJ4UaG zzC(W+v#$0s?9JCjOYC@*L;=pr9C8yt1$mfy4H7ffK$z#C3r{vXr;s z1e=k2OuyW-Rcx_55_Mxq(#SiTZK(Ion+Cf=<1JEvMX}4(#z)bCBRe_wh66wITVp>aQ1m?fz7f7 zP61cyPhzrGYZn_23r>3NJp&&ooBV|XaC6aX4Ybc!@Z5hD9>sebe`WZxEN+Lfa!H7Y zbR8B{Kec5gRN{eiHy3xdE}rdCKrZMG`0_pJRBv;^_M&$Sk znwpWmaGX^YB)Ih?_-8~!KDOY%C!ytPx-T8T>{*l7auFTW`2HetZXRK=Td}|B7oeX+ zx_HY5LKA=Kt$GkljwD@xd)iGXb@v%`%v&fsOFeh*AW$S8^+R0KEOao2eA zkZ*DzW9wB*!g443rj*zpgpx;YvQWH2)y^kRPA!9?c!Y9x+8fL;-l4~T`tFVn{ezRH)b}@6I0pEh7Kfi$G{>S1 zEe2`?YtzT1SXPjn3Q8~1<@FJ>?oOk_|K?ZA6`6b+jcSzxj1*EXPOJc34^sZ`|E->J ztie0=pUA7`ocD3f`=|fM+PKS+Sjz`;n8|srsx%}?Ja6%u1^8AU^X}P&T8~;#iPZ?V zXN9l`Tv3DDjidXvS$5ax1OoACS?_dw;<2W8xgIyv*6+`ir!1<{%^B|{n?QVH_HQ+C zDV*D;7@Xl;z1x>uoG~~GopZl7bDyn4I>^z5!0VFyTc~lji~i=5%cHcHXUseBgg`vA z7NK&DR>e!Lt#P_S{HsK&bep=*+y1~(>R4Wek7x3=s>p=34{y3($6^HzWgC4L$YL$I zcAZe+;L&0OjH(a0FxBYP-O~5 zlBM~~Mo@9zHR9lK9+)E-MRRz#Gx#ns_6`mciNd`^gy%?zEClSVaAqa#q&5bw zQBU)?HX!VT2`0f|c)q*+3mg}>Vq2P8ks~k-)Hgqk^a<#k;_t!$E3*qTVVKbFRxo(A z99|3Wb^2g81$zutiL<|yzjG&l`={;kHL$CU_Xc$bFiC4%hO=(MUVR3uJwl)1Md zx#r@LRu<6&*kkb3gp04YCV_Eo)lJ6WN0>PdP7U%WCJAr|<$CR>TmrvaOqCcQ9MxZI zvN<@#k0@O}kZ8WJb(r=>TFW1>Wd#*Vx-Ms+kI8yTm7Q&Bx|WDrWYoDeNk6Jn8u9X(lNsKVPSJvP_idmw(Te za0PtWFfh?|#^bcC$^}SZs0iwOZVUv7&eQ=P2fH47w&zOmNJ1@ztH#osa2DI0A2EkI%^!!d;w>!kvdyd6<`+D2rZspLq=z@4M$6amy*kO} zeM9%us$Vv?VTSH9=+#HLn(b5rE320cvkkw^%{GE+dcWJ&2#tFItwr_dzH8(fu;Yl} zKsTGGwQFDygF54P<{c?5!5KS_(b=SDCGCLDlNHl#X%;nxXMJeY-OuvIqQ%4s$oP6V z@Wof({uJT{`S6&v#? z)f2Ak(9zV@^3me_rBq$GwP}8glYc437WZgEBC0!P>0FDS$esEho zvig88t!m}EQ#{=di)6Q3hflffEMX!}e@EC~G~iC7T#DzO(pP3@y?^j7?1e}7XB(P= z-~no$z|D%w^|05};{d&V7R{L>TU#8GR#QA7%G0_Gn&bwrRhgw3>anG0XS-G*=f(L3 zm?^-4iVMCiPP*rw!V^ZG#S+rN*&ew-Zk>j@MY4Fm^&FVR<7*?JT)MEcsM2^d%B@oZ zqA@>k&y1dknUaZxWiU4`f{>Lau)l`D=%HrS-e6Df}nZpx%7?{x$%R#k@uq*gQ>&Y z1IltYIIT3hxQ|y)k)x0WhgFkE)H{Z_1#onmP{~I&*@vGRTX-wtV&YV7?+w#wDu;$& z{>iEMrxZCyFp0)N)fh@`?iWPWPp3xfAV;@WNnV{YQf{Zid|vs>8M`3x^NaNJMq$@; zi_en%fgy?^4^NKtNKCD#7j?jehf#jtafso!2n4e^8p7@TGJfCpS;P$7xtVFzdGvxS{T}jKj!!E4il=pZ~f(4Jwep_!r?z0UZ168*Mav&6VGb$DLS{2 zMV*&$viSJx((1xkJTIRItE1Jr-9Ie>g7n@4LSVwA@kJZVrIqsF{I?!K0Np*GKUcnf zO}-1fz)7a_j;n-s2|{Us1=5SM#v8>{cSqTUn;z|5eL}Gfa@zSQ{qGd=z28YuIViVl zJ1Y6S9Hu@a&vie`yGJbmLYl`R0M>LhDS(pBlH}*sXYNzd$@~XmG3a=YHxnyGm6KJ5 zDDs3|C&UqT;9c_Gc1^gIW~|%w`R+x;e3ja4qDQ%mjyLb<&cdIt9)t*`u^2N5-ed+#l@>@G}LJgJ!`whYAqe8(A@#);T z3{a1vot9*c&A~z|xw#V^cZIj7lluw5__=jJ= zBRCpBhhDZLsr8t(ZhXn6K^As^k|(79En$0xcSUszZT3sg;*pz;#6@4ENu*`h*cC&4_liVnLPK}aktD?KfSBYkYsD5 zc|_ifOAiR`3k2oSyc8G+t9KaNLQ`+@#Rf8tg1PNcDKg}5FlpGhY(@k^yuv%q^YnZKyZrGCg_oH2 zIC9k&mewq&23$nsk!`5eP&m#6@D}j1!0IOB!0S2fK|tNHmkI9R2RE2;<#npOb4D>+ zWKT$w7#x19#FTWcpJhG2;knx6S6oVgf`*owS^b&pr}YQ#C3d8H4ZqrmW*URt>=P;i z)7*Yb4|bA(nP~*!G!p9(An^%t^-~;EpLBL6Y2lT6Z@0C$rb(wZ)_jq^+tT``hvnBj zeVW>z5?8M&5TD&NS5S2sTIA_**V_m^M<3lJn){_0kek4(WjRt-o;zzcv&t48MK5T# z_8Qox>Lj0`mWADzT=YpV&iJ#WxJ7R&p!>j{87}1?_m?6kON}cY7($q}&knpZkR-O& z(+>Pfv-i3%2;?+w(f=p%)BcsIJ>y-p>zI(!ql;!6M4O(>VeZc}5)T7jxD#wwLnvQU zVIMGuFDa&Gfq&LtjxQ{^&KY_9CT2=yce+h@%|*P67gRr47pUaKquTeRF@%4vB-7ms zfgMxWwFLJ;=4scq`W^W*O>xT=0biELEnTo7FCpUSx0N8}&YrnrWP0&>s-Zze$$E8L z9kQ^%X>rWvB-SL9fGRH?ugI$OsQ}!%_K~3|oI7T(2d~?`4EQ*d`-xq=Wtf-Qzwdqb zYwzWjRT#9-LD(@8k0Dm{{lm%*E|TN~RE5jVfCy<#Gib7-{Oe&) zD(fj(+LK1htgEsBSEE7D)6KS>ZPTjS2~&qpe2<^Gd3IG{U?La*+-M32)(4`4-O)@k zB|O(j-IgTop2#Ih@^GDnh2)TISbHL|Ic(kP$9#`|LVQP0N$I<9p~9oPbv3sntQ+BB z=ygP@GSGN??H0Kbz-_zfe98UR;EviRei>v0V_l^R3%-Uj%4eVilE_hP4A_D`1Yk}- zArGsQ+B$2YJx-ZhaZbWmb5`-I7OI0p5A?8*0@()qTz6s@xBCFcLd=~o8kOr0cVwv= zHWg1 zu5Y*08Oz?}0O92P8L-tRjzGDy>tP4id^elZAy6^$5MA;>t~K0)=|ffK}NFf1~T3_y8!&uga|# zj?-eevGQy{8?O=NY(GZ->29;ph06`NEJ%O0qk8ngz(^~hT>~;&+d~NMWohUgJXZow zojmS!7gRG)T+45pLGQoeucZ9UBap8Clz9IcgRiNAXB<|-9XUu4q|J^A{p5MFvDF;R70n(i~u57~D45B8Cs zfjl_dmN3?-DA(&k<05W3x##V~NjYY}ee-&dNt2uV(=%lCZ<2Mdu!c;2*>i_{y~9@2 zD%9R(?bfY2i=iD)om!XTjr>CEVpVx-`@UKP1$?8q6Peduhn~6@ z{qwMC3UkkyYii7xOHTb)@ zAJ_?*GMM8D_~Y2Hd{IgM60MlOB~|d}KyHVQr>b8*l{#%Tn@<&EkK_wV03CANmH%&M z)m8fi;iKo2Tkpx$^~m7dTJ~@lh!Ak`N|m^tGP9%@HqG!;Z*TW?xM}V5O>4h5!LeZ; zz#)j7xf(^g551W~=VAC1qcaGMD>rXRH>yafFxX6X zP{+#GMtQcaKxepZe7>jFcyw&5F#L68T!Zlpd-~}UxAFA6u_Qbi6|Oab1fUO<;ef0vv=k<7I$tuQ3L?q0 zrKroP@towQA82LhpI5#wHOp3(K=iV$TVtqsXq_BH zlqD%o|8NwHQAgfNgMtJs+qKFQK_%MT^;PTi2+)-(ypMk8fE^%dtd*0 zf1Vc%U1@>A^NuihYA@=8Ax18LA$Tv4+W?!I>a>pB$`1^<>9Ge)G$={FRw+O;IZPWL((lo|JCRL_(n1}B2I;0FjB*N};e@;A* zzlv^Ns|w1o|8_pzJH7cmd2@3L`Vf8E# zweA5)1^)*J3F0#YdnjzB&KkU{Z}NnJ!!h<9T83ECG2@c=n|kEx>nxGvdjsD_wbebt z%z9YJG~}v|M^>a8ToB}&-ylT z*NJmMrcftA$?EtoHnF_I{i+XPodCReV5vM(P!$@`o7yyKZ=s*O)T@z_>;9dH9$F*m z4wetiZ_4Ywxacci{4sV6)*Ds^^-qPC2KPQ(ECAX-|I=JsgXW#q)wAhB*KHNA4aYQB z%Ct-E{MIDLd>huFT-hg}pRU6RqSSlsYf8)>-uRdv-%4?t_27&g{p`>8TSrIDlCSMj(1obb_^&-1p zGK|>n8*g(dk(Lq3|GV^BK3FGl0^L3diMn`)PovxlAW*NG{)p&a(2H00@N1sKnTciF zucZ4UGS6S=0lI1)62KFL7QiI@4wPcxmkAo(u*Q~qm9I+zfNAWt33py>#*7TnIf$_a&4H5$$`JMnLN|L|?3x1b8f}TcghN{|d>bg@b zQInVjyWZr%9oS5OA%_L&_nHl_xf{P6Fqi;lW#el{sGP4WtE|Ct-g=b|`e);>gS!2-4|GP9` z!+M&nBPH^QJag!KkA?epj_G7=h^S=6G=Udg6Px$SGh&1O(H!Yqdy&fSK zUkQ=kSV`Oz=TXK!LcH{VSh}1y!r4o9&(U1?m{s;K6s5l|cIz&@v$!x}`q>Gdkvu-m zc>R!$rqL;2-ib#Np?SY(ueRlpJH@sFowJX60TuIIB`Z9g9umZgjVyx&@@p$t4)1M``3f5 zCLTrayGM{A_&ya;&~NHg1n-?2+a^%{F|KI4QCKAh`F{V}Y1*R%!{LF8w%ZZ|2rJ;v zfizeRMGzr@8z|W>xUF@8zV_Tc7coHz%Scia)P%)j?MKXacAD>Lv6tJfY=7ot->>0> zfmlP$;*Ip*{5aDJ9Q4nPu~&eJi}&i#$09@u2f3sPJ4;JS68g8uStj2$j4gxk$ zYn#uu*Hxg=>w55igFpY@mjRsioHGifc9FZG^CAe&Oe*>D<{5z3zUTjcu2Mge6NAs% zOXrZ8@YNCw?)57W2O(L8xu&IIXQ^084Wt#ww&e(5*&zm>2H zo8XW~4D(y7|GO0Rze{dFBliL(R@t!>@{z5Py)qEF{Hpy7} zCNjtPCoVAEhlUoPTqpYMxGbG(ZH(WIUO-#{JY^j)wN4R>U|3tRN_~uHvOY$ocxxRy zY;#j}>Pcq|Y?|xqEn8vESxKy`uY}eb!<|1_QR_7VLj!Mo@xeU__Q56%fO?n549&m& z#x{7JJf`|Q*SU3toudHWW^BF9;I-p)Vgm?2fejr51nM8KYvV8ls8CzY zM4SJ*DBJJzeX&e3ZLiOy1>duNqfOzsFnx<_whyA8@Oi_0;a%3y$B7?Rug&tEzpS>L zSKu*vJ#e3ncwLq3bec@Lk&SI2Ab?kHAjp-xIvR8+T5`1fXCx|C)IfW@cmq3$D)-FV zM4bvUOXrjS6067tD_eLBhg~^swn@*iTjt>mD1<^wSi?goH?eqCY*&Zmgp7;Ar*n_M zwdIe3hPOwlEUJY{u7&n%OHha0cz5Q|Ifk(2A?LO6@YbvmzXPM9$~CCQYCNTEzTVoZ zMSP7<--y^o><Z_8* zQ0KtW8u1xr48j5kAwcy3+X2ZU5pQ$#P_bXD@iO7q&@oPVrE$`PR2Cz#0nVqqmem^d z;CBP-Bfk{id7UBj@R^?mq9$EUbG*0l5q;rdxwX?TGD|0Ahw`RuICMiP5O0~*B_11~ zH{ce&0FONOal3zVWsoa3XBMCj&A8%6xi+YNOy#tp%^;)l!#tLvj<2gKqq1G|&UN(LUsO z+6bTj8FSS)&7@7rS+WF@ogjD632C#SmN^>-%$meUjy$@$NV`V}9sCrmHy3BvF5I_} zQf_HVaO%T3je*kIH)>PepI-F1&KIZGgz-T@(W!{YwBU+#4YZe$0UPA*06^2JtkS(gh!)UnCM- zIDJ}wX$%Q;(l>69m!7P;!oLL#5xqz*X{RpaIEtX(`b@f8o7~z^c?|D2IaMktwLv7K$%P(QADx z!Iu71RHeGzOt;9f_20`)lxAs6dHnEuJkMmKZ3}2L;86f59FBVl4v)beF3=qHDh3k` z2(I&06NBQLOWIvF_ClpyDd%Iu($iPKFKQ@3!T_Pjcb1v}ePU#H^k#dDijYjc3yXyp zYZEn(u^%puk%J`DKHVy~q9MVtFu%oonPGd3*4@1*@mZm9tqbZ6%j;$sn}SpTskMQ^ z$sP2HW2wyD#P{VH34C#Kj;hWyX~;nwkCT}fpDKYz#Jdhy4EFgBeYZY87oWbPJt{J> z)7J5Xx?_Ba*9SPF35FCJ6wXscyjPJuUR1Q9>L+UcB07InxvUJ&yklncc}(x2hOY3z zPbuLpKnfM`$O-;aw_Ztnq-fcE`QF$g=yYu2|1QBf0$q`fxWmUe)XLx2>M+7qBFC!Y zy&@ePZSjq&coS=5^z-9G%8g{A&a3}=A?2a8Wgpog&S+(6E^IY_oT7}S z#pW|FOvXiWuQh)SE_7K~;|5koHcnFj)FL=aG;S12>v+(^`am)~d^&awb{rAj zsl*UZ`Gvy0Qp;ID_d=LN=ln4pjpK7Ufrm|9)E)=vV_-?J`x&?zvnT0>3m={8%Mq@R z#`YyMD9%n_n)v%YHuh91aUz0t{4IJa_zj(lRnsLp_e*~-?NPs5K&fIGZa;jtCQ{B1 zEqBx_4@%zOgdKKL?o?@Ra{g?~sX@GGLwgEy-FQ4?x>_I3<#&(E;6Vcaho=7Vg3pq3 z9)`>bc~Nf_uPZf>r6;3>@ze?ma!ME^WT2D?ebAlt=5A8-yl4VoNs;^LaliqKzPft1 z>Ha0JU!YR#QC{WaM(p{ulUkaGt+-}Y^Uu;rJ+3NR+pnKjnp^5^40yQl10DR2{t&&Z zGW@hhl_z4-@*QEqhMey|X!r{pp?34^Kf60pmB*G^e!2@CX4po|rdFrOW*48`QPqoTu_XDh0f!&*e_hK%@v-B+Pd2 z_T^C3#!s0(`M2WOu)EPyN@uqq1M<;T{d-Aa&uI$08k&nURYHE|6`$<5NqRk#7v<&a6pZv`iO(&xSW4`^6Z=XP5Xh=VJg!9a^V)w3eu*ZcG3e7Ver!JVnUnP3{c zc<|bdA=x2A%5gxz93|!7ZwgBCwPwFZ0{r&VG1qUqx=8}fao9xT7YWXv?3SujZYVSE z9|XOE(gWHgV2gD<`$4XO+cn^FqmUW911P#lF0RJ(GrbZ=fazbV*%@v%XID2cgg~f}$S#&CY@& z&0pMED!;u@1L@ztI=9~xnV*n2Q^fyIOO--zI9ly3HEf`_46WQbX!TK{%auib#X7G4 zZM5UhurfRd(%yP&=hoh(x)e6BLoeV3r*5;w+=ej|9IV~iD;<5#TqP%R`0dH?lus$7 z+V~ztj;Qfeyi3r)sp_pdr`KU0b_$VaVJxq2?ny02RC*qnmG8MdD9p6TI_%SnT!44$ zMchF}*4w+)Y#URY%CeM;?-`kpe`&Tbaj^!f!UFeX4 zl-Z9bAD5qYL{dEP7LkwEy~Ou+TuSaxl3VTPRn05$h0Mv;l!l!MaIT6!wa_$9LG|mQsNqFmAj8wWhs#cu zY610SiYZoq&cKpioGTh0>|D^tHy13MV$2p-=2xD~PCZo?e(d#PSwHb7r{1gL_z={6 z@M{LP^o(9%7);DtkUj*90}W z2pM67k}#5V>_Zx-~q9TF%DKDCNRjG$6N*0O@Dl06fNc zgj)lvF1E)n3;+dSk4!zP9Mq<*YmVA&daZat)Q`Pj@ESK6f#dYW7y8{oI&LGnFX%=X zqM&M2(!;UJBdT*X#@?e(yy_E}e<|=K+&GmIiSKZV38$s2Po6o}DThTMavfMaE9h$K zR}!~pI-&xy5c^nSAc*dj_bT%0O4xM4GFxd`9@U=4!MArR%A;S1^e!JwWs5FllM zQ|qP}>O;{awpaYUK|mx=2+5Go-!4S+QM zphOgpgRnlHX~9{g41pt#og&XPki*3kRYB^*h5jBIl=mEKm)bp)7dF@?&c=wA8}6;4 zd!3qhh76+dUC-;SQ+Vz#MGDnyETJ@WkFk z!$`@p+z@NUi~n63QiqCH4;`x`jeKr$xh^(xA8>*qk)2?IJmz$%jhqj5a)N(Zpzm$u zy+d%g+t3sS@!Yx7o6gigeQo`k%lROk>!r2x%|TDV0uya{xNJVykq9Zp0*u5}-vDvB zjZNqj(l2?Pox~b*+CHPKw@!=YU-;VLz0vD0n;{V0dNt&la#`G*nsP04zv)2e5cwtd z<}o;wm%0{533lMgj{A9V&tx;hTJAS_i2Ih_-AmUmU1Z6nk-o98!LUeYk1b{7xd{b#cDVi~X5`3%8yX`f!sk z;X;gVE;2qBMHBFEHe1V>A0P6gNmG7>V-u&oG!KNX#Fuda)yF0R9?T2=Db2wy!wo^S>HBqaB=o9>bfQBj01j2 z@lFN07Ans@Mtx<2v^Hb2f;P91Dj)LGM68n*J?)&#L`^}7dTM6_+C%u_=wm=5zrs3w zl5OtcRJ@(=xRFV7PU%_FQ`cBcYFbRuYeFgB;VD6Ab-R9y@gw8h+~S`rCZEz6;+Y=r z{5k%$$~*#tlS~O1JS~NW74Ps0rxAK=WpIGeZ~0f3ePu*>&^1&3NMMUjL&P*YvBW0r zMlbp7n!B#FY$f;0_TLg8b@hg7a8Q^2Z_35A$|4&h#@d5oX$Js}@L$6tz(j*_Mi?51 zBd*RT;8u3IH71|oT7E zHz>+l!nA0%>fTUaap%nsdwK8ujqHa|_=Exuqk)B>CgglmGP`zza2f+njX&4qM1LwI;S&82*x z1oef&=P0|mGGu1@WqhUo<~!Eu=UkodJ??fr87NstF~dZmw+Z{e3JoJP(xW2lW~ZDF zqlhZKFI|s${Mp0*Exo-WRT%oymY=D>U7xJF{~EP-!q>QA4I#dz{I=#I*MS`lnf$2w z*meav>Ycks4~G~8Gd(X$EWHRQ?h+sm{ubUri$K9nn`j{fqQTMk-&0$FR@Ru zr2I97$(%0xN}|RigBYW1L-IMSeKt^$jZv#S|;jM zaFrTNdR>TCB<)Tr$lQqiF*K2^0@Mjuh7j#uYZ6j z#UZrM@+mnnZS2m;SEKyaj;M2Px4y9ju61gln6z%6i`!c34=cA^{Fr>smSI$(R8`NZ zE~ku^t=@2f&`R%WG1 zk9G_k`f1rN|73hZ+{enSOd#W;&H=UuaV4f5uG(J2i@!(e347}4Qyrti7spMClJ9^21kxhRkW0w zC%6Mp1kg=A7GdUb8s}m0rb*?G6mt!tDOMfz^rQs5y2Hp1Z)EsvXJ`L~z;>w(S~N>J zb0^6?Bsn#azp=aR&9B}v`Ged4+<6#z8w8Nae`Stf0>&x4cX}p@YEw}j7aE}iKRuaB zV~c)Si2pK>k&uo=lm2NOfBLl81pKC4UVVKTBPQpH<*o07O+cvkVTvTsY#Z3K%)Tvl z$nG9j2JKe^8|Ra&a)#3(J$ZLe3vFK?*0BNOOXat%!!2TRn3-vg>%Q7HoX8*1iAZud zPL#CI3rlaJ2(mq=QEdb{BFqx1+V*YW2lU0%kLo~sehr?DEVsv^p%Y);uS@Pft}gmd*j#8u?$&>IT$jvq<7dNpHmy+ zOc76EeO9kcyElmJeL!Psb8f(kT7z)IyPN^1I}=c~?_QvX*Y{-&hIo>TNq^1tbx!?9-YI%Qg^Obp4V)M}FtVk%;x&45 zJ32naoZc7m49O57-4!l&!>Ot-QW&%h5J*QF=b=O~N>9gqao!%)T{s zbAQ2N#7E=(h~VZH9WaAs~Hx%C-i7*4wBmi+?}jpJ!_2#<;XmIOEzR#y=*? zu|m5Q@+>q<0-Tr7-7sG0Q8vK+kx^fr{)^AdQ#oF-e<6R3(u3FIK5!hgr z_fq`3p>La7EpU6`@imXg@dTRqQcl=wx?SfZ^#jIS8zf=CB zM!o#Ad7oyZ$N`Agtq~eiTPuAFB z9$u~~(kndP9?u>r7BZZ}UfUwEz2LJ!$K-$i?bI*DT+v=ABe5$Pk_V$9hf;2ml%@*m z$0>{?xte%Z8Xje(50llPmBfTrkPkn4-xL}V_VX9<(WjvHI?v>KjFlK-tD>iuj>st| zU^0&s7N6LItML9OHEs0!J-P|r2MWio7p%m=kAe;95z}okgneW_$^k=ozz|GPg7o|t z9$8!VbiVqtBLxan=dNf=#cHiSych2gP4*^~0>>AcK!wlM%oyv1P?MtGAL)A@+PM!k(u|IDa@ve4!XQO34`9Wp zD_@7v!=^n5p&E&GCulYm>y-~MLpRU3BgLGN4gr|b5TxLXtw|rCog~ZH)!|sz!*2DT z@(sLJj)hA@g4R^uDVqHQL|R~Gy^%Qrga!9_$JVgqEG*-n3HUo?-U16IJ(k<+0~oJ? zOe1@|b*Mw>(u=ll4yiX*OaYuErcLoC05(n6>c~mZ=R_Ldik^9k^EgV5FhoE-%C*+x zX!VWAy}mBu*fTx{7n}oqfgg{+@wVFe2I1#7aopXH56}ewU^N{UgGj+Aj z^ZT)IxTSl1SU@RqA`WEIi2f8~v1@!J>XxUqZbQ=ktx0h@H(Bqv>z?u317r^9wyq$1 zmYr(IPXQ#u4tIVRl*31u-XEFY9{={DoWzIT)?GfpL;*nlR9kczlT6YvO@Mgr<9R( zLMVkhBiqT|j(v=fz4zYd7{}p^zOVap{l33HzW>y9HQwIu*Lcpy^YLg-$7}O7)~HjA z%NLLYvA*vog-nqR5a9|%p4?weW?wZCvo+R04eA%xoy1JU+hHZbt9%g`NlYHxd2~L? z&|NNtEwgor`QiY~E(Gk^W%4(QlA}EHCWR@nS*blr50J2J|ExN&;C)3aNqsZ$9p_6W zW|+~Pj1OCylXZ+zfnGPKt=&tp_el4bMD?eF>_tZJC7eQdNY@FQi|%n#)LZ;qqXJFg ze3}0Gy&jI3%${rphbrTcXj3Z~=>1iKY4RZ4Bg*BAME&P29>LXDXJ|7XjV+kOjayWh zoEvRpsSG!^`}k4RO6yKZSkn}N85f0F9%yY8Yo7`{b;*0o@JH&j_?2Pr9fyg#&BvUw zr!c-Z(mgjy{cm~wNgO=3*2}2GLivg|l{mwC4OJzx8wSS>kO%6lrt5}LPcR!4n});D z=&M?M&*PG?^CZ@9_=nZl9e2Pi?pu&t*2VF>BJ!m|8j^!fiE1VO=G}Al3a4@K6FD+zU(@)MmOZw zr8wTK?=NoKtlRC(z@Cj2{KlgQ@)2Ns#)oJI@2`e21smt7p2VqfcknuSDet8`8|rlp zeI)pj!&fVk3cOTZ>GSgf#`YSFADYa`DQ6W^SxcgIIw~TBeKg*Ne5j zAkuw~k)Wa78y`adgniYt+*QGir=bT@$%m15y_ZcCQejsf=lqr&oSjX$hS8^<2P;<} z6jJ9125&uB;lE-G1bRHcq5Yon2zv;C$>20GCoVK5m*X53l43j7!)?U_3jMA5`s6;V z5&N9F0|f5Z#{|q?D_Ol$%j}ONv1H);YH%~X3s4s8kV1nvc?xF4a!ogHSg1u{Z;>r3 zzLPD&SQwqzZDa9itEZ^!JfBwAo4`=z_Zu#!0EZkJ6)aH>@KFmzO?QWal{rg?j-c13 zobh)pVoRsny!aZ|6SB&#r}SVRUTcb~R8pi^nVyTWKDseuzquB~D-UM+y||4xt#XCH zZk-&d{iVwM)P$H^;0;^>^EU%Ej&yYr!zQ0s1sH>L#rudh*wAqGOJ`5hr1hIOCKfU_vj7D}c zdBH@CLzfZ%J;5R4>r1ubu)@e~&Z!X%B^_-GaUN;wq#sK->>BzFl zPw2U60j?I*%o1zb1fL&EoY(NF$I%ixU*>j&=af{>U8m05x8y7L^GU98zs1&!*JDa% zSEkE1>ICw++uj!Z2%=KkAO7>~!=QR_+I~~hD;ofYFnf=Cw78amb6?DjR1qoETyuio z9Cq_A>=+Pdz}?eF66jMYFOGrWyMHg`vN6%sd5Sjj^{WI|y2V{L4yRb3MkS4z6z283 zH$TRSxz6bi2971#PQ>fimN^0Ip%MX1ZqVVtTC@%!7P250p-bjfc<8kTIh16?u{@8V zZAGH}n^|+NyKe%sYZR$I!QTsa80h$`m^a>z8iK9p@v2*jJHE_Q){)pOS?{Er$91OQ zpe(ORM#_iZKJ&e&0BF<7nt97U0)AVt~~IF{mt=*m#GJ>f_|YNTZh>>!EG%s z?tc`l`&B-In%1i=Ygn?9F)*2Uid=lTpfS;`fM+}7smP)V*vcg*^HM4aFzz=EWhz10 zX^Y}7&MMc}kXw87OOERbm&VL>l(YdU#Cb>rgfhw|J?FD>kDgKE!?kah}5U|wR^$EvdocSm z9G$FQ4HEGlg?ytYBLDJoi=rad{K_{%62|AZ9_2ZWo%MaF@-xBCOw9;HY1!TH+R_-x z=D+(ukngSs>^rQ|w3%#+zd^ud63Scr{LEdWt)j{24`|z*hC5r@g}!5J7`~O)dVJrN zJ$t-tE>In~lW1RFVkjby%UDv`GTQCxr6FkkQUr zNsPJK=$%E$9_uOlUvK|X1=1#Z?62I~ItQs2970IfqpQqMg%L`pLan7x==_M*ph@;@V0uX%yRGZ9*r&Ekq;56Y(@(*_ zXm9M5#8!m;)2}bU#`^tV%r=z7t4MUvCQ4G;O!+y6_SJfqkWneu96w1bnud01e(Tn( z8q<34mn!$I2IqMw=*=&D&Nx3N7Gkl)cBJUUSJ5ZwN#+jFtQ8Uv$vJUpBsUx^pIx%yO(>OZyHaM^qctza zpX>F4N&P7eE!&t||31Dh{mA$1h1bqqQPkR zA4H8z3{13L-4FLzeSVmFQ7NTg)D&;`csQhe$A#|4r`knh)#pc?$0dOtJ`f>yc*Z#F z(NDt_q*`<%5uTnM$Ped1L)MG`p$nixF%^Tm-KO^53{ zMmsRI(L=~CDEM5wFw!L8>_yOQX3=xc(!LcMqH$?Lub}H$q2|?Ywdbmr+N73ckMws~ zKNZ)i z1GhcZw=$c={M=3R2`Oy;#XHWuR}x!vbTw}tp%W(4RZ+mqSQo#nu^$R%^77$SG_4zH zH)P)DZlCx|)s$byL}J_GsG%?LXJ1nAl*UgbufbqRnN(zXNx+COo&iQQu;9{6+AdP! z8N{)(!4LenU4t4Op4HVPyW^uSKYm0xADT;u1-FEgoD3J^?ZD3!oAiI<#I~WMd)EwBlP)X#rIH3U<%|tD;x835OJr^BtUbK6thzVArd1VYghPjUkI2k!dOf76%+8?rXa81$mK17XnYTV0m>Ns zYCTRO-*rKf(>f&c;0=q`h<$JahS#EJmh&xRYk&gAoG>Sf9s6*%?6;?O?E`oAeIYoq zrAhRTo4^Y%g}iQ(w5j&ld_LZu^#f_b5*NobcS5^4mW<{xt;`@nz7nDOcYlPhVoySk4C+Z`}QLdnm%}Hx``q2MCZ$nldjFTNv)#)9H%`I z9>5|i>TM5SL1W=B5iOSc!KiS4mhw4v?Mg*q>d6}|f2sa#A2U&|{28*)2hQd>!DR7s z!IpVdzUNnpFh_z0^!XGzTfte9{4}?ZG;jz_3f4|YVIClf9jL8&8$;R-js|97!KVE% ztkL`gy*hYA1pGI5^#`{f)zvt;R68_wEK8K9XrJ{>Sly`%RpIrG`&Ukqw9cRkdB2sv zDL?Xv)6gbutEk=ZcD~i-J&KlDve(m*xI?i7d~+EwO1V2Z#K+F*^f=FfZ1Z_*Ib_iT zkCtJ{%y`>tp8{Y0lNH~|2?-?g3M5f{4o+8Pk_|PlgMzg}%YORtI^cE#yjnZ{@||Od z3fl13_)YVp_|5d&T9{tffadD@>)vMZ!PSD0hR3$OE7%OIK5|Nu!hvX+IGWX1%xF(% zdtA|Ycu88HLyR?db$ zCQQ?yIvYVV6&g7H>SFLf3fF8WQ{bs2g)RwuvB7kaULUgQQE$C*TVRA;prYIP_q3gA zMDqTr;sDjT;~bOGqk1a`?b`CD>hP_et(#H)c2?cDrIYM!X0GZ(9*xkQ@pB9~uX4qz z*sCFpXI004V{4)XbHBZCezEm>l;YwN+z+z&|HuyBNp|YL^8*pV1OMVB_lRGoXM**s zsCx--O3#w3eJAIc8xXUyCy3pAtRmV;e^O>i@~sWkEaBVzy0WrY#LU$nY8oLQ3b{zC zGO)f8?tv&UnfI5f+61}e&R8*I>F%=ooWw`YDp64`aw|o`;`DABe{uD9zu{}AL7S^Q0&?=( z$VJ&R1=|TTi`8|fy=QTVB>w>t?-gK3%Ep=)NtPo`%Ko%^H8oiG$eR`eS2Z1T`>@B9 z9iG^%wX45>^L_E)%{i>p5hP&%3h4Gp)ICIa?9VxW_`uWgAJvmC1*eqfw$+XS*PjNr zHtg_DOFm>I|kf7O$T`^867P!fVv!J2Xm9RH{9E8%eQD)5CZ) zjyAeUNFRIBB5#_E$9om0^*&F;r#&Go{v+CZC@pX*_v2!=Z~!M;FA3D3LPOw#^S?6Q zdCx}zdofqLs0w+S#zNGXHw<^W9w6P7LeG=Tb*j0~;o^odKU1b$nI?xFBc>qu8o>2i zyTqrai=+)!O||$UvG=J$Df!o_qcIazMNrcpVt@%Vzx?-*RWK+gMERoxZDS&cz<(^% z7e>AsSG(yfXOb+p0}WU;w|wL$M4)U%Wenz#pXs$P4j z4YA3>6*NI83qf*+Fq~P4^L_EVTkKSdH*&MD4bfHQ#D^rvt$svlvsG zvl8F8M5Dy{Ph3Ox@#g^3LNQ7YwDMIB5fD>~HAy0DX0;ubB%>)eE3u6^Bl@eAm6eU( zbVF{-KW$acyLxw3ujkVvs)xXNNCKrfA3>3JJ@a|b$)2&g$Lex<@pR$e&tbaLq9=7q zId5OmpAN$RGlpB3?+i0Ye#0i&NZrYJ!3c5DFJu4E(Xz( zScaD+!$_J$sJ~yEZ(vf95 zD@+f*89o^z6;T{1s1GG274T}**kz$zNyL z5_fT7c*m7+8u4XsHlEc>u=+l&rwojd^k1(uolw6-gSwfvpzQnSb-Mn|TSJhF`5C+2 z3$|~Ns-gLco7ZLg{WA=4<0Li~eDP2NWRae$gvYSKMUUl)!@*+d2fKP1mmAMe)=H&9r-SwVbF&)=p5Xtw90rP$ci%=M(naHRn|}c^TDmBEUD{+t4r0B^_ZIb^NaMfAg?G~o=Fm2RHf=@Mo!v* z1+#{1zD_JG427-*e5Kbg%OyX6XE_5)@h`!1-mu2;sJ_^kBvKMOZDJ7=&U~i`(6nBV zDUmwBY{G`=d1)xu6=_FU-ce*p^0X* zsqr~<7J6cRnI8TJQU+^-@~C_(Q88Go=h-fzl2W!1)cZuEX69Ey%S)uAWdFup#jMr@ z4~FDrlMP7jY4-Dzr%9F^2fg~5`J3&p(CmnXomgg9l08<9z%*xN=JGUoZ`!^L`fuVf zYU;s>7!L5Y4W3G>or|CF2XU`Ql8WR{8@)h^W=iD568fb@RTChvXAyAy{aS8)V-NZX zk`$N|z_G*YK@{>Ap)?9XPWf#}Z&6mL^(P|QuPS#*2c&@=YtS8vH)g_W9sriSh9}73 zW7Uz8QD8fm0FPvemogBA{2Ub5KD6S)A2akz1V;roCJux3EFaDq`VWW$qqdEGxQBg} zc8j`R<sfQ?5a_}eFuc^FM4|ahHG#}#>hBkX4L|2o zFullDm3si??rsujm!ChhRrNUA4undfG z4efase&P@|bexozBYP(z!+J!qL#f9-h0KmJ*@yBQZLt=Nwq-#uMMPS}IPa4Gj40u`RrW8Eq1dR=mGthha zi?iX1o~@|vzSc%hDa7QrS!=}8i++ko4@9vhze2OVrAlxU51%hB*2v^>8D zx3-U(JNJk3E3HAfDW2>*&wnqHd%R#(FzlQC_RA{3>0GG5g%wHP zGxYyvFkInnGk$(e@e86kE35-z>FJny+qUmeLxCun$t7vVQLHH;f;3V^NEm5o#9* zw7S@g_eVhxCZMSNzNfOZJVuk(`O>)>V*gCCZL*@GELkyWrPhz}g_DThlZvJ6Y3)jQ zYDSNWL8rpbIEO4(O^ZBhqLU+0@N{4du@D2P(rgQ2A4M-(5WcGX5~kI~T}AxSX)yzkrtNv1TxKAcx%KY6izDk|hckB;P-f6zGizDJ%TWo12k6$SMe)rz{ zoZ2zsY0tdca`i}p*y;e`)&Plx1EiK%1O4|Y=B}e@pnjhwF##ME6criT>vAKsl}l^2 zc=qiDIp0v7g+r_TyS=5m2EX$#$>vt-R&d&Pp?!x842?gzi%KdhXEXA#eyxb8Ge{?r zdeZ-W+X>8hc%P+^X--_^o(Aw(U{jNuizlfvcfc4S`!vk1r- zo?+>T?|*Z<@^O-ScEZ%MM?E2wm_FJYY)5FxBmq@x#FCz;`_2B5SEA!&``;0J?Qf5T zPEJbl%G&AE>W$Wf<7h6z-@r#Q*k$*pqw&duB$fqYP_g;=?q=48$s0My(;Bbp0l}Y` z*I@%Q&t@DKtgj{eeK{Bzit+i}P#;*PupBLr@WM*n!6Z;U;N<8bfw~#O23;ryA;LfW zeAwec{WnA98sQpN&^F(IsUe+-(}$@3=L}8vIbS`4G$F80BniUkHZV00v_M8H|G3(W zsaWOT|5!wbI+#=+T|fEp(etrf^Sj7I>Q#o{>*oREmlWu-!1=+c^oRH3)ws$mg7(>+ z4KRL7dbYj2^H$8sv6oj}vtD*{2L{iYeLT}AG+LDC!56>2`us!t#V@JV9KLJj*0ZpD zQmH93j7>hWL(Qqz1fXrwA3c5~m_Oy;J)nlRp4^VRbz}fjF0SN#4Z_QdV4m^*|0S?4;e4kpChv@cbpP(9x zM2H$0Zse)E`YX_8(@rS%O&2}5S}zGP9=#S$7l?qstYn-dwzDhhpaa;0N?b^V-#S*3 z=`RY`N0Z`#AAc|H<{#OZ^f3>#Y@ZlIL6&n5JplAlQ1)m!a@sE!gcx+>c_Z zS5@LYZp1Kkz6Q+32%zyzcLx&%-m;EzF}BGalx6RH;P-sNJ_HY!b~#2~asp>P);Xh> z)?M%b#!(=f)Jk6zPlh<*uWri8;j0Gku;aIGgx~#Pau4>IN}1{|6)zQ4zMU0@fTq@= zF(v6;usa$UYbq;T`<^Rqv4>FWyah>sVtw>?4t-F;as(HgPCvUhpv&(ME09Jey{w_b zvXK9vc%!^Vf8JLb?*muwpZyqvU|j+&W9X3B)*LhRrGH!S{<)WfYN|B&7(fjM#tQd1 zc4dgF{z3R60__qiqDeShyCQ?lY2RKk%37L9) zB>Pv@-6F|6JHxU~UZD&HIW(%;)Fa~?31v806RP^11UYUT|NW#0lPmE^X zHGkB4dOmSf^S4*b7;N_e@%;9DDY|8zW@}Dm^xmv|XSy8pbrtqyZdyR@geztWWfAr+ z4Syl_b2+uBvKbvRc@c~s=b?846#C88#gqfekK6=saMrEPbfb%+VpX%pM^N2j$;A;@ zo0{qb#TRuCgbW4d;&Oi&s)lUo{0A=z3MjOs^u9^c(ao*2dg8uQ{W)#OeCNIr{!pdm z$o%X!ntPyZeuvch^Rn*O2UBM*Cy-xu0pEV#y@&hW&@lL9it^(D7k}BJCZKCH-&O>7dY=<0Wd0}8O z;ve^`h!%%n4m@JcVd=PXh?pH%rU*UhNdy4V)ATC{g?a3K$uM~|1TdGu`NrK6cdrtx zl>zwHnIUVHw%0L}>zHNc@f<-diOjp4xDOlot|!d)FyeWO$cf|uG}`%@u?L%rc+So7 zoOVxU&v|b~k1_OB#KQLUu6C1ruwdmk&&^vuVBN2w?@G8AFSa}w7P=(wK=2*kJwp37 zxd0QBifEDlPY(6sO#+Ae;;i|B9#cEF5Gv%~ZEcP;yrPwFnG%B4J&d90t?h;L3jPQ# zefpR%^Z6?~#L27-X7S9YpX0mM zJyv{B&ul{H<$QU08SaXVa1)gAvEYYWP=@BQPjrbW=I*R5!wqi#J99$Vj>-B`sg=c_ z)5Naj7y2?91<#jhiv#s{B#8l*!H%O@SVVLKnxK_>4KF{Kr@zbgAfY6U8C%jE$0#C7#^N8`S?poP~guskHy!11}fCjV}iXbuyj2>K;4>kOQ z$W~E5pZAoJiN1b%EQ)q@-$-m@Z2$heX4wc1HvN}snTw!Ily@F*k+RaY7Syh?dD|s) zp&m(mi5hsRarcc2@C5H|&^FPM+yr#{JTFPz79UBH^7Mu>YAVq@2po*4tpgS>zC*|$ ze|;_8dQ0jcg2Xo7DQ!t;YoS1Rh0{Jvy+^&YOYF5o+OSZrz(5rVtBD9LC4s0q)R`na zWO5I5+SQSk^~-Ak?&bb|fxlR8tQ^Rln?mO(=+l(#amH$GD)rSDQw~oZ+8cWOiw>Rz z8fn9e&McX}HlF=CxJ_MyrO~gXn^a3bUO`kNF+BT|8F&@K*X2fe$5Ei1PW)DUugv{f z-L0}~ns0<|YwcSeIVlaV!kl~8f>nx2=55o-0Is%>i#U(4gRx#=0s!h_CiQW_shh)q zzu@84c~ik)UtE_#5onO$JSrd`)0uD=rq(0eyr)%_ zl#A=aI(`@YX;rWICcd5?1|1H_ZBp8Ok=RR7#4JJ{J;UfVnmX1p;( z?uHqSaZD`l6T#$c@teg#o2Thju-3^==#}FbS$;=V$sjnN0YE~q*?Pz$8|?im=>2yD zLaiDvgc~-)c`S)=*%SK!0FYQDDsTLyD)(!fsIU^wsY`WI8x9H*J+IsCd!ZZB`Y$8x z@<^ifJJ4Jn%~cv>EU2=eB;deqp83vnVr}i5XW6OTyEMW>pL29rG0~4-_#K zy7CR={O|7h^`)iISf;Mx*d=o5ZPvxjlaRv=g89AQN0BFpF1)j7 zCOU&X3Ud^WGND>V>0r?WQADQ&@&mfOV@1v@K&d)Xn9@^iuWT-Cf76tT(L?Xmd7*C6WsI717@`+_rPUqjs0hh+wpa5L_ml+)Zb?fig+Q z>+U;@z_70~cFyGz+6>0jR0yffmXChS@QJj>KY35@v6?jy5ce+2RBJef#_3XyK|rachsqy0MV~vK=T68d@)z8M-6c1I339Om!tet#DE{~LQ ztCG{rwo1u_CT%(@FiIC)0#bNSTwG(H4S5JPYu@>nYI35~=ewQ?v&eRKG zF>;5~TUS@eLmRe;ftMbCnBzmWp=I+}3(3f2^c7$rQUKOcLL$Rvq@wHS3x}Yzu8)#M z0rFqZb-qvdKDZd71@w6!M!3%W%65L^;=F-}9XX!R1!Yb0v2`+n*nhSC_AGbhSs=uC zaiu^rGVj2(n6kVJFlOjf{cXlbQB}oFb=n-hds{p|zn)eCpCvJ9hehqW$dVwn-=3CL zHqA7!T-TR;bEKT9s(d(x&P9BnNP&|4du(AFHy*m8nr*%%h&Ku;^AoEEVJIw^ETSW+k#G_I~~RBvxA9io5{2T-k9Iq zdtB|K(+P{g!%*5KgT~0UsDY$n;o1tj^uiZ+p1Sdw##@^13M}5lp_=tMH>FTtWycad zRzyfg9?YWXlRxIW4_dMlpt4+V7#Cxh(<`TwmsG0lb&@!i8YX_q}Au&=9`38s(0t{UCB)Rp&JH~lMKc zceyPrN;)v(tB`7lvgs7n!uT5SA-ADg+nh{`A*_5Dh0$-CUmDuW`q)Yr^Y z)13`>3~sm@^S5!HIgE^+k?Ey7^jV_P0`_lGG!LyfJv*-V&%^q^3`%hBS~7QGF8JjR z@w2Qg*d|(9_HPP4!c9{ci^=KU$Ae8=B%|u;I8{U4T9Ra5Z~3<2cwjS{F3a8b9=EhG&om?}YnGZ7o;jk{1o56g z6$luzOsupy@-C_)`Z8kfxsR*^^rTA!i`tw?%S0E{B$_LjHO?x`?`h&*-M(cjCJgWc z09a|-6ZwBZyZ_(s`ilrbDO!^=Ud@K<#IQ(Fs*P3;B6eiW{3;SKyMZu-T*pBaP!*qfL31044^{5`GCZV2p9gz z!=Hvy7#g&;RM`Gz_Zi|Xil<|z#SqV>C!WQ+x-u{w%+oWJr84AVrYs3o?*jNnl7=Bs zi(I9&ak9lZyG<~~ps_|7Q{h&0-EiIwKYqQ=AKU|l-8^AeTM?tvi5qQqf)?^ru8D1- zBGqKd3GNHAw(Z>Sr6(QnW!5?z`&ZwR3b)$hRJWHh2*U0={#i+fYFQY1zq7L=Qmwt<-O;}A#*Bp0x#gGF~>kbt9 zQzDxgr4w2;ivoiL?&Ork`N-sTtJ2Wxf=K+LS3oMv z?ry_??4PeHIdv0u-t~DQOl(`45$+ zQhq~*``W*dp2h_9H-%`XC*cm(vEo^Za0k5GqsX+^bsyHzH%Or|)F(9{CTBgDXf6BA zH*P&w#BRS7iz2bDcer>hOVVsKz0fEvuW90PqK})N+@TOoSL(OS-nXrg<>q|J{ z)Hz4%o4*qE>msSRjGNm8C>$ow>{Y+A;!$g+Ff1wx(5?b-iFN*BT7bDeLBn0G*Snp~ z3a0l7zPG@*xOD5TVAk#YRXv1Z$>m2CZfYNVP`~#H3IJky0{C=K7A~SXnHVN2(j^F9 zZW;xpH#glYLUp@Bo&y;zsab~H1RAwOfp){xbgO6zpKN**8gx(LZnxW)Uq1 zD#PkyAoa^K+hUgy??^k+Rc**P9Fu$6{FiE8NPc9g_`gf33!9Q5BH9juRYyfk>W5#t z6bmJHC-6-sU)L8BxZU$a`(Z#cCy@@F?w>1AoVdo)YHXnj(WsL>fTH|eRB}=mZY?>f zjyJBHp&CRb%hxFT_ntCd2|n_3!mFN&D<*GJXv5(1^W`52$JjuNST**Pc7Eh zjK!}kfhZ?Io3}#@XDru^hm8i73UTgsmm&m5!iH4Ts%! zwe@$18`+F4(E8+CH_q}QGs`EE^oJWSe+_j>A^SNtNXQnF*`gm;(K2Jjlx}bR5j0P% zS1f2-TOgIwO|Z@+&d!^O_dO`0rDvr-vNP?21K4J$9Obu~6wYgV9Dq+6?$pI31oXS6 z2I=|*uarMvjb^bs?(v!fLG{8{z;>8Hgj2fJAh;26hQO8E_W-ER3`CYly@#>}HtH*=xM3dNV6;?Cmeq zuY_3^V2d!Dh)F2katQHCKcd@)aeCJI;9iIZHtyARUX6dT`TT3k)caDrr6O6%{dw5V zD`R;hr83rA+dRi`hlw}(mqrIXw7V7l#1%I+Y3(+#2P+RZT?h3d$&%AetPNY4i;SNzX| zgu%R{-52jGl|r31Tub{}ODS0d@)7kB@nT@I&>Ad930Ry5yRNdLudKLT=6BI7J;h1G z6&qbNRK2l9^Yvkjp62SRY=^xhT|&e%=p)hYGG`JrTk6zuLh#$AE^~I=i$oxJKF(I);fPM#7Z+~)czOBmDy}-ZxIr9u5(d^@0S^Br%9%`nm zHv~)-ywRS)tSLYTgC*N=i{Gh>Bg@-IP0EP3PEYm_Qn(Y&qHUJr*TUov{ISPQTT>*Y z7C9G`pUzXp5$AlEBGjaZlHITLaSPW}i7}kHbV9vk>usH-y{6ryvss1pmj-r0;h$zC z_$5KrBX28%;aE>{$>hB=1J>d)wEQ^lsn_BC)3}HKz8UPUja-y@2Sc;tPA@?xo2d|t z3Y^)@JGV_^YdWD3n_!gxiB-nSyOv|l1}@L1PR5NE?e)C8G&QP1kZVDBNphKrDRzIU z7~M9{-<@x1*5~h?&HddK-^ae77|RyT*TVge#Hli%l?9U33Zm>{D>n$a`+n#5AUx}*dWbeG4eXk62CG~p@xkVq zn{Qi=BaZ3BT-(kQ!FGTFj1M0d;TF6mA=-UbMh(RP?7L**hz$@r_4aax20@>q7bf*5 z$_5ruJH2_qcB6Ml1I)n>Q!T`$wK*i6a@wvxI&%6Mr{VrA3gS$@KiiM!Ix|h7bj&j> z62yo%NHW;$H$_+e^|#e8|H|=pI8yMChrG1~z3ML*mn7%)U~^b)uF@dU zuukT)(F_GNL7ZXX(ZE}iz%9u0Pi(7#Y}CQRNQQ~#F^REC8}yNX_&wEnl}euIquI{5 zzE}VI@_7)WKgAgEhww`IFoJUL#TU5WasdfTJmNQ}T+>$N*ncbeiS{0C!d`X8;1?2W zlZ-r$RrLbW@BWGT@xC1$i?QBUM|G#)IUJ?_~9*mY=(8`vJ@Bxhnqt@mnGL?;Am zx_irESmknXVP%5Lwr9|%UbnVW`E?lJpnZU1MuRk90Tj9}uf=~&pAy&joj9YOZ<&c~ zp@Kvd!ykgXY`td)VIZ*2ev?)?@q9p#KbhiWD@iKaEw z6I<0$OiNVIScJBnc<+Zdq}lm3gs6W6YfVCBy(Ex}YrF?*>FL42NcAWB;O6MlZ z8YMt}k6sxHW&@15?_c=61(Y=t>ytxMA<-MPU2EtYNIw~8WC~`tQG3?pN#f_Gvc4WR7az> zFyq#MeFyiT`(>aVB^OA^4x>rlW9I5%wEi0HsX;yjb=z6cKqhH!$9 z_(R~K^iaTl=4!bdv7^=C*MdO}=r0v`#Yw9neTuOFYJ$WAhFd_{@m)qNp^viuhy?pV zR$)YkG0H`;q(JrtC66|@t&f_-AYmB0|Ba>pxe1(IsMiM34*uV`5tS)385KastG+{1d&u2KTv^wN zp=^V@v9@7IQcF?#arUCFEyJI#lD0xg1G09~+H-!9R-@vF&a%sF99+s)S*MUF1yi2H z<(oMiqH-&#rY3G@8N;n5gX8zws^n#5-Hz}xsDW@r z&P~g}4}xwQ@gz3ISy)0L)qlRwV$d9Lp{K?a@#FImw-3 zx5qt^m7J`XtcdULP;>F^M(%m(;|0n8x~eG#vkrY2*E-unUacIl@l{Wny;~@8nO7y~ z`MYLiTnrsKfm{I8dnD;76VUUO`wgkVF|`te#m-@ zS7vY~XwUMyj)BRM+=4{Yx*ah6HITVzErN=FnP&cG{X>OEW0NC@?Lwm{L%#EuDaI@o^YEE~7DS~X1CU_{hEPWiUuP^o$Cwc9q%#Op@HYVwHR$~GfO3bD|LHa5qYdaN5 z3b}u12G#vN6C1y-Yyk75{r{Jf|0^rshbm-#LKKXrnN40fYF9^!P6o%1RKB_4-!g;Yol9z8-P5g6^paHXoO0 zk)Nb!k%L+gOH1&_BcMCVCO$Avb%a7f?P}n&!0T;b5k4@^!grJ%apWq@Ca&^;cE^i| zCP=z}IJXgO*^F3_$ykS>{2x&cqrlH`KZNq(qRFjD0>HLO4GdIIrRjm8I&_%AI`0+C zuVYkhN;{mMxy+S1bpZ~A_s%mRoCm;3e?fYHg-0y)30=drA)NV&C%z|t?Bu^GHDN~pOuBRdt%8zHVBoKwBX?%)olZJcL|vPk>ng7<1TqfVn9!0)XA~H(;`hx z)UIREt+Uk634fy8f@QO{^XBGDzPAUb_%RPC7fBVqeRh#?`pIvbuh4rGPLd=*LbFyc z?-k=%FlR}-$7#o1DTbr=R;2^8uCC3^&*;uyd3%v6&&`bJg6_G_g`Q|x(ARYFNKIn>E4_oNmr9sVP z4m96@*T_kU+uh{?MODQYcV+NjqRqOuGV8L58M$xdBSsG|w?X18E7(gdf3EL~2;=}vC&3(aQ;9SU)3l_)sQWodJ0(i_P zwII)H!NK&3H)FK8clkx&@z-&Vp6lZ5;d6-hwE2yxd*ZC6E~# zr}=e!otVY@B7FJ}qU9QN0hx;0%~~cxKfauWzlfn_%Xo!bH8B04R6SS$=UCF@*Kk@PaKTQq(PG7eClMr`2qN7K zr5{>0y5FvU)vViP$vw(Y-OGhFx=L5?_TA3e=lsU25<|Z@d%nmF79It07U1z7PFPI_ zDGbBiytsR@4~v|o!l=AKv5c2WYN#k=(YoI@CS9VTP#<+{i%az$v9+V~yp>RL%m=ro zVU*I(tWla7o0lf?w3;#dNy?0d8Q5P+UqM{%o9i&912?(f2QGtjG2#5$uFOecu zKza*_g7hXJpom1eNQv}Lq&Mj$^j@SV)Pxk@_50q;teJW1t@(4-(y&%wrTl*Po_o$d z`|NEuYGd%}WDl=nhNvfHSF0XkV zGBdMmQOkUFpZ-*>Yyau?r{c$M?qM6mVF06kxV>Kv0$>IqP-St;m?K&66ZPs9aa6|% zg2CvUn#1@!<;_KjyRUy|iqQW|SrZ~=Zlt|;<_Q3egWZLQ{Pf?>9wv9VwtcS{aUGY6 zB^;0Zpz60gU&^~i#Ppyhx$O6JqUw^D0%Pj^yfXr8s|plGS0Bti-*X3}rFlF%6FDBX z01V)h9Hgc8zNn^Hi{Q~~*m-D(K_iTwES=HzBlGc~)AhuABFXf^Pz~x!s7vH4EXJA9 zrgPV->dVu&@BWN}BVjm&8jYDtN0#LyI$*`fme{bkk^qeIAlKUDuPbO<>%iH|xcg}@ zPFZoC!Tdm=MPG3v_!-ny5NdcdtNu!F@vVf3C&XMTy(Uy#OX7LM}mf)fWG$doL zBR#*X@Xb{e4+^%yt6xq0-lI{rThym_i|SZp#~ZZv5#;|MhB2i_u~Z)NeFE%EtnH!} z$BuTz$nEIo-s6&jQDF=!x88P?Y}!naex9ZG1HjYIqE)UBGJkNS^ZCaB~nJ8g- z1QHVIxaZuXQay`4t&DTf%H$?!Na|fOK1^DD%K2WJ_o<%3sO*cyfdjKX32>7g;10zE zD}1k(+=~=0;QwvHAedwkY;?2}sq~iI{fE|{o+8|RHTH9|9b;MQ>%NEY+L)|hUtplF zOf{D$tdY(;z<3qdc?c1+O$}FS`VZ>G`dq6kB6v(3-}zrSVQ&So_k0uNwmFmju`+p_ z+J(aDcEXu+CV(O_o3~t&e&LeI`T+X)5shn!2Td{qcA4j={FIW#UV|`>?@4dz@7hQDDVn@5Aqy2)B^y)VkMuOgYD4nPzW!;tQ>rOj@Su{V9^=y{*0xgAjF1@ne;Qe2k-Dg7p zb0)|3kaeA`*`1~lw%eeTQ9gylX=(qf8`I4PFf6Gcse-8(^kQ)8P@-yOBaFoE1l>OY zQ}Ln-AM$A-Vn5r5=dB~9hb9(oZJSEmwBG&bOso=I{JK~)|3}f?utA9soemeq*`zN> zu{x%}LihQEnO(i}U{gZ%^)*PJ(lp_TuuWN{zo12`CzU!5Vo1J@-Tmuc+ zepf!MprJR98F|K+!}DVPThwZ@d|c24fy+TdNlPQe&rK)P^8du8<{UeYd%gzXUr;1; zF6$V%C50E)BFN2s)lk%IYB<+m?-@C1GtHm8pF2Xey3Zyei6lhnX5TcR=l#M3p1#}2< zVr-;a1lPK+4?2Pv&V8tD^w#%h(rM81I_40PCw1r|wGVT4wX(cQ53d$>RrVOJd6aR= zV*3p8opRS|-mlG(^`&Yhfm^NZ450>YCHq+S-@Wb{cMunHB+Cjiz90hPi6~*X>VPn% z95a`xZ_YU|*3lq{=gSS*(qL>9FcPS+XFJjf{g9A){t&&c+SR2f+r?vOWjG(KFR1q? zLY@{!e;UCHZbdPu__q3Dska>=yfXRvPOOasnpt*Im+wh=a;tWSKTFe2IQLTfX!ZF~ zg20hz2;Y|qb!d3sK6(vKeU^UdPJl$7iqzL~XiPCz%BMQ5CuU|V#0JWTb)a{o-@{S_ z@^Kx|KOMT7;cUrvtyAP@USd+g=M(aNW=$muwu@gm=P{v@TS>>6oP{bM@gcx!Fp^(T3}ln9ftXmkvXO_j}Qs3ADd8VuN18t zA%uTWhIwu!8WxTp>bq;%?33#q=e{yfFFc@p@{B}DIytr;8(T9eZ8Q%lz+lsy@{s5N zKGMGp`w(%KI>I7>d5aM8u{9meF&nVY+1RW}I7XHHW_jYj$bXRiB$w~0qLMxUtj$9zVJCu|4Wh+k_#Ki+ zXx;OLPAeih*X-7GSlg+W>H@C--~LO#Ae_ClwC-2FS0!&!+RetBSj zQZ&l@c(foPzG|v?l35h`zK0GQH*~cjX_cV5vI*)2kUgOA>~JH}qlXy}B{z`g*ESeV z4E1~@q6u4eAZTwGtRT3T@W0)Ez`NGv+&1GU@lZ=VMBdj+OUb}qqf4r&rlM{$fP~v? z`v8g-{?MXH_FYfMv(8w$d)}8%BTu>#^n2hN07GdZgelmPZnx)jkct%K{3U`;B3!O- zB{B_3s*z6uiNnteruB2B8e_JH*4XY$rO=SQ)6w1bmR5%usNPYq(yY9>CwJD&g_F&Z z$AQby=of%GWvo?>%iWL0O?A*vW(H~vsuitwU@%;p)c5$bO*(4lIp5Z zLKlIJQUtyI2H|-gW?oHij~u>^ybHy-iIB5tTVRK@L(u*E=)&7b;wj_5G*}s`9*|z( z4gX6cdLPe8dAr|7xhTE?Y_F6#{>zl1UPpG+o(7anK}7XjAE`}b$q>L%xN5lC&g`qx z2q!8yI@X{#o$(Rs%j1=gOjWyEp}QwB>f(DYho3;99NYbu#$p=OHuo#hV+sI>i%WDl zKJ4p&TmKuZlc6jVA;YDW-9%(GL`EQ0in2!z7Ilehc-gSD2=1wIM^F>g`De(`>6uLhvAM*Gr%u!ue1Dd**!<8*J+uv5v#rys_;}}KB0R=D(wH?D~ zgEwf=W-%hTXg+Hbs)C!Ebk4R^}okMnr2QNpX!4?byvrl^ni0 ze%WA}|1-}^;^W!9{y7epUoWu(Txymp-9iJ)J5WjHpZs-4){Qa@MoO zt5;AA%YeH1+JDu}|0$gR_rC}Z6Zh%A%0XFAP4GZQs4EQk`m+7cU(?9yRC9SOqO;*a z;3~`zzR%MCGk0dmig?J^TgzAxe35QPqV=~xTsT!&{f&gkzl@LHE(bO!vK7ASO2t*>~acd6yj3nER;3 z?dJ2vtIJEKDyB@uM z-T4@w_9fTx-Mgqw(^Xo?CkRd-!`}G=?$Gby*%7Nb2;Za~RL_A^g>;yfVf`*-*4lXu zI6LKi12e%%z;LF$=}^L*i|4_V=GhcWwY;PU0YGh+n$q!RLu&r+i`iD4YPo5-+^N_l zDzvSeJ#Euk zhsk;iJ(lgtxb0Y0EnlPu$uj(Y?+L1~$Xm`kmKR@z$&jbOIiLZ39q^n=UrlmV3z(ne z3EP(+RitYg)uxu2oa6gl^8L>s%PucJyK8)2O%Y-Spz_bO!)I~&vlD0d#I?#XrMOhN zdvL{hAK21c$rom(al!F!7=-G=nYtiL*&T#k(ggrOdLS=eYDwm0GatofTn)VuyI|gaCtAD}I&D zsM987861D?{Dv&cq@7oskst`nrp)x`pmQ*3{SnA&Yz{P=K6~7NTjZ^xBQc`ks@{f1 zxz;2woy?;+hBmhaUz=Ye-&B{nkG@GkE6KIvnCA4$3$I7==iOqEkdPm6w1kL&G7zB)S_ZxM$d-q+iM+Y1pc)Dak`Ozfn~VaxzobgtX6P@k!S zQQ&@APF;D`WcyW#c-75d<+K|_5{juxKga&Fs^{%&M(bmf%HM?8i}F8`o+owP zK-QsZk{u6}K;u2g<}Z!4XoCb|q^7Sm`YA_(3c>xAQ3G>b;Nc zuP8osJVLqj9AiU}jdw9tigJgHl!Q7d++k086{ak9%Wvej)pFgike)q?G9t#zbR_U( zxf<=x7zab!ej+U3C9|Qy{>A2++AUO*OpZ+Sfva6c1pevUcJ}AGgN2@scM6>g=W8l! zqBD}XpWSv7KUt8)e^%_VK$W0({>zn=?gYJa^0gVSR*=$w4YxB+2gV2kjj1z*BBA<@ z$P4S7bS+9OH6O^)uMI=X+lWF5)YyGzkl--P&m*bs|`bP zjm3!#&s?2TD`A7s+)P2rpDl{%iN>W5_u_^P=tz&@7t1K$s2A7Gd8>BkYtl}~w|OlY zPvvaAKR)@CsaUCe=9xUX^Ufdl4YP5?-6B@j^IEdQ8QUp;Mlr6PF^#&d^Q)mh(A?s; zk8^WpDwRNO94JVgPKM#MT_*Km41^|N?RJ{bwPcsF`*fLAy~>FDW!-DabkvjAs&vU$ zLbKh&gk*~eziFpgB6KaM__q&{Kh;yL_VE+5~P1(NkM1d8vmMn++6Zuua zHrG;<$?S56o}|;8Q0B5Rlg%R&iSpv0mQUlnEy(h~=*g?n!(c#)ARN1y(ZJdt+M?w= z<|+@qttzZ2fmZP%Ss6WJ~gYyfw`Qo-gH^DB$VcNzk=*+5mDVbbG#0H{7=!H z{(D}b#K}i~wwq?8E92B21e3{EWs5qzO-|6((Bhj?9%a%k)_$wg#YbV>y{G-1Po}TB zxV1QwNvXO?WAz^;pFVxu=jPhCI9iR4L~?kzyqlq`!yaseRF;#FdaPwq~ z(9+VJl-_{#REJ3OeO;tv4J8`Y`|S*PsqI%V(FJzh5KFwLn##Vt@8{`~9}teX2G<=x zFcOqjP4SGwUb3=(X|7$D`wZi~8b#imrs1{TgQ1je1D$;^tAuL*3TdP=_a89yRX)8k zu&?P_eZ@S)e)95pPv3Jd9!7cRwlcMVG)WAzC7nYsXukUzJ7oSuCFBctYfQpxx;}-S zs8f2E>!Qx^(9jqPA&!xaw?HxS3GuIs?Fttq0W<5ntI?i5tW*{zW>b@`G$NjwBO~}J z9kk~2J4JR_{0w#!q?>${E@c$Uw`4~+Z2X9I@<;WOo!UqCJ}b!5PJjDawC}dFdjq`e zN1%2BWdQM99&w4-J6f~a676@|%-v*{`eN>8S;chMWD#4!+rhiy4QH9#4<;TIQ${9x zZ^*aj5(4Dco*I^T%gr1p+K(iObL-Y?JL)vJY*@`LvL$}FF(oELWMaR3hn>%L=*TQH zd&lh%nua9Y@%%?I&|CrSbQ3MA8!|XRVlK0`u|^&0zxj-b9Ew`ef`gQrP72wjxeeXa zA3~-k?pFpvm$U|v8(mBk4)Ms=SR%(uR00_G-3fy1$fHzl zfFDEsLG{NtgU*#)oAxBrg6C=|f*IzRb{6-fQtC|dnaFCHuNKn5N%kMOE#rn=cCB8E ztqL7(E1lzbN7Az|s9Ex>Z0&G{jxu~wQ1NgMh0njbWxIZ&2a#Ygeq%UppG6lUBnXabw^aEG zJ+V%bD_8yU&m}&z8lh$K+jFhHARL?u_2n#$wc<2LddfObxRZXsObi*QrP3Z@&f`td zZP2I&2;m$KV~&rFDChFP0F!}U&5ey5sMu9edD8>SW=r&p&1HIG>0&IIQ|-`-Ad=Y! zC12NsahOZpG$hz?4qJa(3}$(I`P4p52a}>WzWcvmydwb=W~U$Hvt!?T1PBMvHQqF% z8>*AG7nzXsd+2`d+qMa|@n`yH)QA4($Uk|DaTkyUqIvTyGKLW~&q-#*%*}+}c4BNnaFo_oMa5VoE!=$b$9+nnfT_WexQ0Uq76JGRgVUi1 zH2XRH9&NaRKX2?-l1jYfA?O=_-rK~(-ed@9pQsobE9V-vyEtA9nPF#c`}FHkdl$`L z8b!zBmRxY986O#b-IX*Kr|Z`%B6Gqw(LK1dx=|IUw8nenE4?phrBg z5DSxJqslWL&%x=bKaD&V<Y2X&>zCWHlL7Uk(F?PD z3&{%I*m(#Hx%2?(De-^xbbtW^Sr5}F)zOK(#Gk*XHVIv%h>9ZHk97@p8^j5N)Ed;J zJaVpm0P$FSZ*^YN39QZE1OPUU7!NX0^(@f+4&)<(G2kMdPQL$bS~fw z=Zaw$q32~CR7rqJi=s0-hj035RI7MzkLa5XS5{Zh@jX8gl^dO1$4Bu;R~_bPMOV5` zr}7>uB6U=JY&WGzddAcNDASeVhAI`jdFaW)B?a;6wlgEuI%~0s!)}E^gY~_bl)X9> zbJC(nNQ-K(tGu;cx5J|k1^p=bueLGH$j#V%PrWtdB9iqIT4N9!FKMZZU=SgL@#u}F-0(^WeKUZ9%a44u!;MzXh)E&_ z#eKTUQ-#EB>-GIo(ovfA+;o0J)ta0Nnf3D8U=gy!1saW~0e3 z3I#nrAE@az9hU`f*ltTw*35YOkI=heO%6XN&r_s`{miRz zM_zlq2J}pe!&G*1mCx)UgiubpNl1Y(1Fboo25OJHL{Z`V_^TkDvTYNG#6)f0k|l`o zaq}U#L_tYPSK*h^u*!siT) z{y&GF{tZ4UQ;Y5G>5g0TNSdoe)?q5x{d4muq9#*|_VK|WbRX*ovt5JjG5{h$MFbH<)Q5Jiyc`=!WoUN6^Rz+~Yz;l*JTy7DA(FE* zraz%m;@oWt&4ZXLWPdy>@HPX4n1afg%fsc!OFj_`4}$#Pmky@)dI`Qf`z;LVdH>*! z0(PB?pAU{^j!g-^wmxeD?^_-7*C=^`!@DJTsXOefjU9ve3P*4u*6^!axr#f14SelC zd?54FOVPAy7X=LPCs7|i8>x@82E~@9L)xpS;E7Gt_F0@(PHSwql7LCck2r~>K(*<{ z^ZbjmZ{ZD7&Ucz1FDVHa3p2VypFj!Y?P6I-=W*XBKX@=>J1(+^hi)*ox`gT6DavFZS;`~Tb-X^cMlEB{1@ocX z-)?hjF@y{Jvof@L+%J|PdE?uKlTjDwc7 z4`ts3_9^TMx_+Y-jBmY9%YDbCt-*kjfdQ2sB&fCR>ztz=)}=quk(6k+X?bw%EQ?l5 z^+e?M2(dw{**D4EWZc4D)1Y?Tx3c)y#<9i7Tubu{tBiF)A+}QpJrf{~=UFfh!hLDl zbC|h0T?Us1{g|MZq7rI;tolviIN)pCuHX4{4F-7f3ypNwY9_wIzfxnRP#Q13t_v(ok z0V}4P5mKoiwk9jS;1b3nY67fsbV6&V3|1d=X4k|u zGK2{1NM8^?+(ZT4D&nsY;2qJ}(Bm5f;b8?q*D@nyCH=UYDX31gUaHiw$3ux0yqpO* z+p7(Zd#Ilm`zGi|okX;BMT&8D3Eed{f4Yu}LXR{ab5-j0-mOh!D!p&MKf(V=ALZDA8gUQ1R|8W)ZP&Xtm%@qR7|L_6m2R1<95W4a!n) z$CR>x@)kdvbPErBzLPzNywjweVmL$8=xUpGWP=iTqe{f2H^1rLZ>4#N*>k_6!Zzst39n&kC5{)Zd;X?G!w9OCuskeJ@p2fb)uVuLQG~6BW zQ$Q*ATr6&tda-Z3Tt+l=+;t&;Tq;EE_s`tzOh{~!Ari9#YT>{fr`i5*$Aqf-mz&UDW zzhssHbp5xlS|WF%oAKz?f?6e?qU#}6a#=s5Y7SxIkbyBWYJEyXflcW*9~g6A*9JW; z9V3hdl6PXerxg=ZBx#s@XHpoIE4BoZ%A_aK2M021s7hP%MS;25t;8SZK0#`%a9Mo$ z%4)*1fy-)T_3k69Wr6|~+nOrNtmH=r=+DTxAyk+nG`QiGkIonS@~XiDA5MjmuF@vL zF&Frd4Z(=Un=^$}EXBlAlqB-RT1Bz#Nh1)+ZzJCtRT}KS ztBhT`_DuPYQdKs!d|{$2lXF)!F7w(NH?)p?od5x()dKP}yyB7@;i$cV5toB{JE)SK zb(}qVFK?>&Q7&IgEFj%qri4M~qA*~;S&Tb*N&ua4pUhVM`3H^-S42HsX}xc>mcI;2 zQ~Ow3W1Rpq`e3r-rbx`awe8gNb^1h~@|vknkzgA(RNzQ|!alb{^Fk6@C;j9eS&gRn zj#cb)KxR8w8-DgwylGm{IS{mO*THi4lmR(4m8}M?a{vV&a&8kvWTTz}eZLiOxMplR zc7o>sV|>?khVj@8H1f=P{MyNU31AQ&^$T@O9tG5VvuI!7-#JTtLTbclVkqL(xxiUC z{v)&nkuWbsj`@KMrrP~S4kWE_?P-|!Jd_|l-W~(znWdarjD^iakV+a@!CI_O^_gv~ zM=rK4egki6e9vIboE1apum_?NRJ9eV7_w8*VC28V6BQ$1g$+4H-9xsD+b6_G|1LzAZ_eIVTYy-QAu3XqYMN&Rdf4QdP(PhjHL$f}Si$m|8;;yqy+YE?(@C z*n$NV=Ft`;h)z6S*OBADnYdw2N8&`Z%mO_@^lVwn(3HAjLnLpL_C-QC)+s5P*@bZQ z{^E-c<*V|^f~C$DWo1FDsKAM%AhHbpx#qCaWxKoWVPqi}*A>`Wjd_;G#+TNP6Z-n$ z$L?{v)l|;sfzV7C(6=VDu^u`Q#&J99IH^Wr*(~kU8XmFHc=RUct523x-_?^EQ}KxX zh~K|`>GacV4v0eK4cZS{a@^?m1(5GTz-M~UjTmU>=^Ak_F0s;gy8XgTYKP_+_fBG0u&y~-~ zzudLLbGA6SO@C3v9epW}Qx=ol{_GpW_?Je~V8x60jJbO82sM#>7&HK^%(TZh+8`I} z9`+{BYbj~A1wXyCMlk$F_s!SZuHTEe2kQ}zb6J!kh^cM)7x^T#CJ$=47MgpIu0qpV0j24$s_xGmPq&w%fwVp5pp z<`dh-39)lc4t-ii^Jpf`szMw45?us8H^&H>cL|a3&^pt`C#O{^q|4PWZjF{4BmG{@ z=S|o!CM+Ht*$c+xlQufyq{qm4wFl@c1duhHs=~LwOWvB{ZYaSE)rr7eTfb7v7rYhwt|ul-{ubpvwKzNUZR>>#P(oh6M5)MEjLw=!{N#FisO6Gf(D@ts>$l|d zTX!!YoXJ?oC44F&@C9#X$G4P9&4%wAbK6WI%9jS-f2`gbGLejm+1*uC>NN>ZRXcyy zI<8OU*)8ok@jbeE+r~a-WTP_FA=+Q7Urx5LU=j?NI+nUVs;o?#7uYA(eP7_;zPHe@ zPN}L304LJyAq;QU)LF4`IBXx6I=7P=_9-@_mjABPLJbo^20ABonA?I32UVJLVW*j7 z6PS9vuqd{xErNQZ*8h;^SR+6S5j}qavhIrzkV#7}Gx(Z@2`8eXs*}rGbh_vEBis<$ zR*TvM!POQ()Qd94hAh1@ge&KMwlu}PdRG~2y7wXW3iOE=7ljtx2c59}rFM7@tf3zS zl)B*rRvXtBX`M1czj(>1``kyWZ0UFYY()7nS2oOR&?MgNuG5?-*^er-*C4e_{&ej7 z9&xEy>$s5VJ1+G0aht()-UczJ$)Pu3`|aMb&vhB5INz$#Rh4Q%o@vHIei_dMc|2$? zG}5x$LO%rUP!SH5~IqZ>LzZ}BBr%1I=;~W06`IE5FwbRTQcV|MNdST&8?2hjt z)o_P2aXbgMv7~El6rg$ZZK=6_M|2@8%Mg+Si-yhxp8ist_LPs^^)_PaTdS%>z8g1( zA}FOzydDk|ThSl;sm}HKp$q&sU%`jJFD^82+U|`}vxnaBt_B6g5ua~x{%VjLq6+vh zJ;ZY)h-+tUj9!F|b+vzfnIaP}3)QoTn4pu{9F9sC*YwPtPA5cp8h{M`TfZn~{wY|b z!F&dNyCQjHKoe^0K<$2HVn&WJfeduuWJ4K@njJ1woFy15Y!<2}?TjnKz97pQ+sSNxFw%uJ*zxIlMEt+YAak`9#5TUqUxLlt zHAL1*X0Z{J(8jPm8&53EW@{Y*T@*?)(EdE`F4aNJLJRInn5%PJhA`Kty1%>h)=mA- z8M^0#n42IC$^4 zyCP%`M=FEdg4D!cn)c(+CRDHimIHI)bZg>stXMbBQU)YCl9T=j@{kgC7k9?)s<8ke(+rWLJLZeox_k(s;Ir6b~0{Hx!+UR zq5l^b$7hx_$!P zPf&XcckzT4cYYW97(_}g{$Lgxdb$Lkn9 z`c{2vJmEywQj4e)yFwq{eK6x(5lUDF-A$3o*4RKO9aY|V1I1f+Zh?u<2Qh_?V=v#m zE?dNPacJ`Hm1-UA89OX5*Ag#eP5e-qQli8{9pgU}vNsQlxE)}O)sDEG{G<|MTQ@j- zO)o}MpFvO~KNuqUo9W{M#+}-k-dv^jP%>jjV%5KL$aAQJ>fTqC$^F$}wY7Wt>H0mP zKbYsEuM4ge2g+|P#&FFm^V&t0Tj>nExbXG@4Idq!nBPnIB05(f&_D2Q;N78(MKkKa zN((5-Rp0#|a%=znsf%PFa)(1yj#0~+j{=aa$ay8_e;9i#BrlVsN7 z&Pmtrj;x6XyNhL}R9#dr#;k7&-L6fzr|DWoIQ6?W**olEfcD|504C74=;%V_bw?1G z{-GK^Mgg&h$~Y94FXK`{fTo#-I{G#GGUeS83!-D@yo-r{6a_IN;YUF#xmvl%w^WjM z_MpY`W6tHmHrA1rQjC zU4;!-e939eUK>5ESkHHHVQIY-6Y&iPy#nh-ZJn0}0Y#MGTbuBBKN&2u+Sg2Lu;CBS z5IYRqzxXqGf${Y4r;Y0X7Xq@>#%Q_5*^`B2AQY=*)f%;1*6Phxsb)7SB=Ymx@9AFOKKA`|?t8Vz z*i|OrMCHAXD%r|z4~DB`X$Pb?yRCL~MC@rKxUz_aw5e*cM4g}`6vLjZ0WT~}uwQUW zr_4&RmB9H=IX}H!dKH^63X9H+eZ}16rjK5(=P6zqG0B*s#>}PN=*WBZ@lQ=eYG#d} z*-`&7o15=F1MFaCO#%EoJsb)YP=eEI^CP_dJo+CR%Gu6AWyZ~f7OcmcD-pGc=n!3xD`l% z%zoUWO*`$n)WBgg_Bl5ywm1iP^Hl7r*?2C*=mZA&*!$bp$Je8$OG_x#e`#Ep@el5h zIp@MZmvLB}Ne|$6&*Ozmt3p>}{1>nLEV;t6VYvIV1VM@R&7t&W{Fep&FM>*nSP3s6 zfj@<;$5BcTQuLs=rZsNKqEZBH^zTh4I)gJ1teUxZez46#WDfZep^<`G&<;x?@n{Wx z2;bj2@oVawqR3aZE1}!{QQzffpifw)EumsttCd4E0dyAq1{>^Rb0u{mhhF+<9!JT- zBip@RmsHEW*UwuP`Rh3!)iSWrXI;d2zk5eTQmhmmG_Ik)){o4r{!0S zU4xxQ{+I2AzOb!KlBgZD0<(!-hz-5F`(turwAD%S!O02FK{BrQ+rD)IW4qqiGD!4D^%` z+A=Adw;hLE>O6rSLfY;wDR-t_@Aq#Y3Jt_D@aWL({ja*C_qLRdrP*+r@g<^M$D}3q z4@}P(O)D!RntJ6eW8^IYWulo49Ijq#it?kmp-7V_YOr%b&V6XK%u`GwC2MIbfb$XQ zIPQ|ih_*v={cK?^n}Xg#KIA09nPe~`DNsDLU-cU+tueOy;^Y+RgM2H(gV5fhbPs&t zH0rRQTu>b($IM(Q-D}j3KcUv{9W-LW>d1hB)X7(Ja{HOO*})95Q3r5_Dn>j>E}=C} z?Z*-!lZ9sQ7VIN-9-CA%@bf^n-Xb>WDIl%|UPLxZgBr!MZ+r#9vlPnq{ zIV*RpQjQI}&F?vJacyZC;*?y5SIH>9`0`duM+5lC*O}E7od{r9I1fbgZhn8^DWvxN zF!?{(;~v;K-Lt##q*$OMJ-aFdm@%@a1;7#U5b{b)ykT{)pwTCVEXCNi& z{!8=NX=8sE1MC4Zbkto*)`T>9tVcY9(6f69uUsN135{~yslCW)vLr%nQ3z0V=3Q3Q zN|23L>m;naAyG1&0!A{Awdzw@eCR}@Z* zDIy=2yGS_-DcASsB0mXf%}jOLb+Ht&c0$$s+IdJF`mT5y5xyvL%BzDeK0uj&+OZq& z%@7`fyqhRFFPLhw1&o;e%-Jn}9=JUo%EhacOTnOV%d=%7o1t^F6GE4qY(_QBjD;vO z+19eA*FZQUn5pHR!uA04kIW+QJY)+~qF`?&Q_I^{DJyk8LQzii3g$GrTFx2``?%yE zAj(bawSk?fdy*MjT33@?+Wf*6x}ansi@4(*w!bC6euD zw9jzadAiRWUta2U?0goqh%Fk5eK^?gk-$f~=_7ZDD0zjONhzLIZ^4#!u1;xg@(?)3 z-<()w|6|y+NE?&tajaXKywUS2)wS32)6i1Oh*tndcLw4jcI+vz_(t zY3bIe?gvL3D(5Fv14LV1Pd5tRto{`DlgYhpHg64fg{w~Q1a#6RY%f;nwwi@M7euA0V z3GJqQNAv}PlE0Zji;vw(eTSo&oC5D^h-=y{*`VlO0Yjg`nvVq=K-C9;DcI>m`^E?WyM>=#N{OMAjG*>&PiYTjd);4ktHW>lSJqE# zx#M9M<*65QuUAUMCmMK)3`lk!DS?tF$QtvKA(oEd{TzUrnjDqY*lz&>O~t=ISvVN_ z9)0uL)9|&M)+k8bic>+<_*!}YrGc$cPksmHX?KzD%Xs*tw2CW-_9;qdw+bcFRUQS( z4}<#u7d`un6a7y7fo1BA=pQ}O+*UU)i;)Q8vOsINh5du|1X*}uz!NGj@0KOcxh_GK9nM3h~5AEzj$)w z4W`wE%tDSz#;31iZU>Z7p@Z?sWMsAwQhWguEwzzHDGjBb58zx11adRnlCy;C=s@IV zzP$+0hxm#8BZGj$W#z$&=^#i^yNVM3BTaJ%1yI$DD|F6wvEdf78iaJtKS*tP;$Ir= z!LM2ZN0IvgJx99%^2&>o)h^MHGYWDfWwc<;6)cm{aR z^W?g!J`6@CZJGRV0{rQ(^C91a7T9-IyBl6-tBy7TX#_sM+a{gqczh>4)baDH%Qv1qb z;kP@a@k5%_03UYZ7F@!Cu`P?&c={eScXpuVSwXU3QCgpNKd81=)#0jtX{Kr3*olY- zs`E9jL|of&&6D|g>RGK9xq9tgt1r_Q6Nw$f*2s#Kh4ns?R13?i^pS#$mh9r#nV5Li z{)8lfC@fm%>bZA}d!k!u;)7j#uk}szEZ?}liTAsGd{_zlys~0s&I-{QY*kiQ95SA) z3E(DH&bzRXt-vzXh6j}3IYSQA%WA{V8A{H(9h=v_E=)N8ja*d4B{n9WP!<#fYXFJl zlURZnQxIk@3qx`zb0GPMjG!3L_1dYC*MKHeY5XBl1s5C7A~=P!*R=oe5dhbh_r8K;v47XuLT zvO^a{D1K{@W5;rI={}lxdJ<$JLO|Utl*|iiNKuP_>`n6;HEPP1<0eI%s_X??be+gV zS0Av`u1@_2=sE&GS8EITKW04=+Xw=UHFmj=%%&?8d-x0Q*I8+evOJ;bWU178#t+}C zy$bu@bEHkMsS?H5Xwyx>Er%6+eY11Y7kG9A&q(T>S!kTw9``FiVcV^xLeG#rq;1OyevUF~p#1HI8r+dD-q8?BCbvq3d>=CPv02ou ze0INju%m7YIvqs}`t!?R-H>at3BRR=m|5h7fR2B2gV>6Z8GC48R9;bPo>aXf0fMrf z;aVo9PTMTyO4eb?+`G_CO%Ndu2!$jTA8&1(6E>L4iuQr3Q>JR%?87r=9w-yTlBSs% zPz&~!HX=z@uoBcyPBQ!Rc^EL5P@bH3($ErV)px8RHQ)WD*APUT6iesS@^Y1tlc8-c zbQ#?{8;L4K2O;hleIl!;Pt2N%B}U*4UQJ_oUw^pR44Lj7nqr2XCkIeIkxfYF2uB)t zY~Vr914XEIE#v>-?LDKK{<>{pR1^gSQE5`5f}m8T_vl{*K_Su+gs7_sP(nhAcl(_8yyM(+pK;y~?-=)sj*$`ISN2|et-0o!(>i}D zPGBqf;>7~@O`fM|Y@s}EA%N~Jwh)l{=EX*JV6;#9%y2z)E|Y*1!SCMa`b|M#?R3>0 zQylux!?qH=vLu^~eMT=vubhNeaBz+_U4qViaRvY1fxaMl&1gRyW+TXSY4&oSR+TDB?ANz}uiK9Nkp8+fwoCJb>-m9~hbW&0?(^O?Y3Wa(Xy^OX zXuSNJInt#uuTXOt2ZDT6UNI1U#Iv<-p53Scww^5N9oOEI`}Xt@2eSK*Iw#Q$Zm@P$ z2B{CQH6?g-#N5bpBc7MvKMrc^-)Lu*(T2?VkL{nf_7%*0A<%kO;)mW_Vdot2%Oy)^ z{DZUPQ3h`O_4O)Bhkki+59pGGq3K-p59BJNQmER1BusWvPQ7>U>Sxx6ns%GTf2lpM zLgoL(J6Hp_e?Ik^msOV6|1J6foFv{sjZJ4+bvfkhP;Q6%iErhRV031pB4V{EGnPcC zT66ouAgSd?lWn%ey~#ae|vef17-$1bQ0BuorK;R@=_Xg(wKRUO_{(h zFLoaZzP^=RQ7q7$w)7Hfbl!0u`8eph3P0+r+_!K0*C6fQ*O{6S3C(CF+` zoB4Bd;wxlhd3vt%8sod9Mb?k;%I7Og#Tu_q_U#$L@utyYPN$y3kK4<_7f;C7!-dnV zw>JkwKR1bvVl@f3Lp=g;yn02G4&P=v2K|<;or}265Iae`9sx2 znOY_1)Z*@_PiVu*YAjE{b9`)&Gku^4fxh)~i^ti_#p~pg#P9%dg$3vwXa%zXJ~}fK zL5mnNoQVgmn@!yP3u&*M3ieK>tk5@0gEBh$`_gal+(sK(ZBmp$2&l%ENpBwiBH+WcT&WH>9EwPReuZ3?Dq$~?TUbyv5!gZQM>FGTi);R?e3mA7JGZDukKkU zbByxi^Eh8iR15kJLTh0x6nXK1VGCUtPcH{jI}-am&b%5KJaME~mPb^fbq&kR^xH-1 z>&x&-7W(N<+LwmozjoHsA(l)Fob|EWcaZ!Iab8!wcdMU%6uJ^7!{}(1W}RjlM+dSb z4^dnJ=L!7j0;E?0#GLF$y`y6%Rz!4fYhT=Gw@7-}7#!mhd{V7wY_-1*l=L=#6XEi^vN4^&yG4fzW_Ulf_O_|cze>|&A6iXT6h^M7ous%1`NhQFg`C#T{49%gd98S&tu6z5K6{vJ1-#Baah ztuVfF!QJax;iAZwU63%#{(?^+Gb=bNDBXT^GYdTESqzEj!F_?=hn3nHjU$I|)r{ zQo>=+-4b88wH#$0_79exb`RM0vRsFmvnLI;NFE(>~))+Gem`mJds>3N02p3T;^)r{<~c_rOFyQi~~ z2As#KopNjBnKHF+uawR^Hx9sE%&#d;?YdU2co&=69U7%my~i34 z#ME2X;lRFj40*n$mL!k&e{B4RL2GEg{-0(&rE@Tsb6?PT7WW78B0!->KUKZJ66iqG z`XM?0qCdgI$3{V8C&5j4o&5G0wa>2OY%bfmoQ;b2g9$ss6rjgrH<*r~6|G6(UTt-! zs<^d7nNPrOC5-$1r2Aq7Xq9y6EOG#PbY(=YB-3m-M^~lW^w^o&e4UpJ!KaKgc`nA< zQ@OA8h`;2?L+FUlrd9h)Eul15Cf;9{vx)dd8+UMUu7^FY#)dW9j@o?=@1rz0zB;9m zYGDU8e|MeicbN9QYp;>tngG(0iNDw0L|7yql6)7~-Kd|3*?n?ya_kR75CXF~LeW@9mBE{@dg9n;ZwU}TdeO3y z;sf%L-X&r#YA47aSPAi`n2y%j&`*Ka1f++xsAqdRCc{J3v@;tr@CPPXSqBw|o5eW0 zu_I^CsYy)TFKLf>p!d&r`1@Sd{LN##*9e#Rkj?6^Vor&K`=kc^bNBV zH(uv1wT$7Wv+)twgODl#b|im7%JmvIchsgAna?CBrQbEU1VIT_#2)#oA+H>qDNy*I`!au#71a&nCE(LU) zlkjEF#G@L`M%UWgoOx)waO(y62bk-fLK2*aexn)c#$IL5u7*~Nnv`|oDjQFVOw`N5 zW#sB#4PcZqS$!0ZhyB9He?O7{=LHAJ;|4);idJadBYx`xnXa$X6|$k$D_ZH}tnslO zvkkr0^#n36c8!>odFN$XvO&UFJd*f|_37L5nVZi*F0Y4wM`Jj98W#pZ)26)Q(ioW1pj z;Rx3O$C35#2bhZCXIKvC+=xpoZX9xRl6c3P!W{S53J;08I5^?Te^RVmWtG?YYnJ4b=ayFo$U^QsXrqk z>5YCi^f#RQUjcr2F%p>RVY?eZ2@w(pUA`)K8BAjdegrJcHPcar;!@g(P4IC>Jfdq)o&pW_rjO>MmQa#DV1D6?V)r%7cAjp@GH}X_N z4KdctlIJja5JctnLS&5T*4L#kEFa+~f909I9+;#hR6{HZfV?)kHe}fE#w@uPSxer0 z(x>)3N^IxFFn`^$CwltRfIogLau0LiQDBZHP&G84=I3=R;##<|e=Py+cw|dlH<@Xx zBt1tck*c!04QHhfp@2K(q~TwSm05`dZ6^!ulH=K9R8ho%zIi)V;e}N1O^D<-M*ool`l#78u!k@disGP1ln%Q@Ek1JPTQ zmw&P_={InutFmcRYHHQe>PkCmJH9SNi@apIR5xNbpnHKbFjDqjebbN?^Wi)QxXJL-SlBy0=o#A*Iro3Emb9)i zZl3-THpAzs++|L?%Gwhpd-dVXBX5rV5)-f2IIS~y-{Fl=RplogZ5FXa*A~|6NGmNS zp>#6lhmuQcRF71Aw)y@w+P5woOoRy4Sb(#Y^!BHIlHXWUPcf;?vq%SlkueG^JK}Ft zxzh?7zq-(xf($2|T|Dr!`u^I&43XH#oYzP=-okbr+I&rQ`DKY8Iw)EJHt18W#c4lRFfoVL!Y|+Ll>|nsJT}F z6*BI^I-U0VTtmdh{r;x&Dw zyWD`3No{CA4MNjO9nsv03)vxUk`;j$wqk$QT$9~380-ICqWti`s?dOV@Gqg7xIK6- z-Kb0p2taj5{O{&c7c_;SI#dvLLW<=~lIO#lq7ChAH@qy(f2Ink{VGgjrv{u%Q?wi~7n z)9Qs28gUiGoII(3)&v+foL2bmANCbOIm+PBi>eZndU~YRC3sCf{xaLG+tE4dJIYiC zasqhoWhC9QKMY_jdz9!DYc#~FMJW`Psc;V*1-;A$hr^@bD~Do$s%Kh?CWJ`;sKu%zUZzF((Cp7=RUXIRgx|}en?pJR48sut+Z;N9&v9LAv2L*1 z`yl?On;A(uX9fPq_7hC?-{0(HT9Y09`Z)&L{z~3s1wD0)eo6>0N}L+`I#Opjw_i$- zZ0d2Sk%-P&lWu3Z*R`YL_A^_Hs>Qhj1G51mu-BE`n>W zcy1pv{H3lEo{GyE8p40hPzEyQ82PpN-2&iiEiX_Dvg-79!8WVaRd};BNdZRm!gFN^ zjMn=vV)*VA6gZU&n5bI#G!4vDL@3|X2!pknPN9yXUb=*1OCh1yVkCs5*g`)$M8XMv zvMp9y^0X7C>?l(7S}9}h)mEy8Z`(A56x&8ob!jOSEF(w<6f5aa-#^a&SU<}uk zF|HAdy*D=FEL_>&wJ>s|tE{TKo@!hb%~ttfzeoGs)aJW?{$+Yw1QuciS*+ z4VfKfahmQxCm)IZaX6F<4Z-KFVWz{7H&9K3&=S4y3~Vq`?h)C$rlQijfp;`B+PiS8 z$5*7X3hrfOJEc}qAVhNL1C)+W>B_?az7#3j9eV@cA-mH1)_muZZ?wBt?>E;(rR&Y= z27*+8$>1Bb*rjD-x3;~L4F=!i!|ZORkeTSGyjNfo&$wLbCbN6ao{(`xFPanfXqC(c zY5Vqe@Se(yL-tTkQU3jQ$*hI#)#5#4Kw0Q_sHVx&9eFk%jM~K1SvcS+O*Iwefo(;x zcJkA>tvgw1{%KFx&4)y7`w%c-AKtb-A3Fhi6eiO-S>9Lw=85m6ue&@*v1qFSwmD?= z$Db|g*}_=9bm$rDbatuy2#Yoa1eVHyB|4-M55bN|{HU-ZwL03N}R5%;EUpt_I?%`vEnpVUgbEq)6_9-$w}1@63qO>%g!7`K-YXM7Lz@@|6P! zQQQvOuXAY81lbY!4c%X6qDOLeEObyKuUp0LXsxHS{GA#P!JDqcZq9UU zjufEA+CTka$VwVHw1lTXE8V6jUJj6bLJsQpm2za$+yFJ&0rd(UPwEhVaUORtwiNgj zykF4JY*LbjzQo2#5;B`jN^j5M_-7?*k|&z}FuWBkYWwu2V@7+z2a_3YB@<+a1j&E7 zFtjYZ1unI7&#>*ng)H;ew`0p#oh)7h>7rNV#f@&inz4==Dgj)0+$JYJq*aiK;GJF* z9!}MAxRO16anqHLCyp<#GwXy2f7n9@ay}5Zv)L8|S8*BY^hmBY%;B5lbBFrN6h29{ zyI+;X{6E0)}HgOhh zd1%BpbMK!pM{$r;WqUwRBE{{X7a9cZW-tGIVOOx7`LKI@*J%lYRAzd~2yr~>U+CF5 zH?}J!%c3U#=wU85H}}i*gEf@d(;H_B_2hH!r^uMph=>ZI?g=24uFB+c7Wv+bMUmQYc0J zQ}mM{>t@7}q$y^I(GD|GGC{n>FD9FhJPK!*ls?^%iC9dsNP3q2{;FtCP<*$x%`tKK z53Z2;Daa|?q!hhmYnvRqQI72L!t62@R)wFRdG6ljGroC@nc-MDN&;7Iy5R;yz+qoV z;V{BEd-H%XRY~cL+YUZ2R2J?wX*m^E-@nEfFs|Imh`I^KYe`SGn9)kGPo$X;`K=x- zv1iA5%Ph_3tho&>6k1b*PW-;S^C^gDdP|l0uz*;u<}9e3#Fd$N%{HkkAhz4>qqDel z>wTuE$f(5{@AcK;!^B}(8-9u#;M}yYl|4O!X~+FH+nf0R}nz>k%s@P(n43~y68sKJ0Ljs})7 z!v~pI92vq07QkcFQZ5*HX#x!mt@^(@Lf5g&0?=cC#h~>QOt!^{Q9)z~uI3MT_}3SQ z??1nFLlex6!T)~k-XLl({t|rX1B86#J6x8`9t~Z}X!QeEyfqBu8bDd^2T=ik`122O zaw+&#o2c&RbP?3pY&bBy$-h8P_>Yg5x@(fDT!sre?LIE`KhFt`c-E`K=;|qlMckx( zR4_a)o-U^jf>Om_g$(^3e^)44?%xPy;N}Scia8#K_f`!s9t0?M2(Y}lj8zX{293og z>i|J5ILX{xn~Eyi1g2&GhgwGFU$qSM5!%5I_GP_o-D3wifJPEawyi@RtM|t&40+%` zZ0?+oUf=oDK=HB0Z^Jc^lPEy?3;~6zLJ|(2j`(t;NSnFm#H*aV8T*7>CBx;VlOwUr zJ0;gdkBR&(Y=cKpO|Gzw4E2L%%-k>mZb0-H8J_8w;(lJhEC!l77*As_oMNXJuGfdo(h2PLi}WQ18Fp zj2R!AA82Ob0V5$Zh5LhZ^(&u)SDr1B-fP?m*xfl|g+A}VD9&%)6Mdun+_G`UgClJL z?Luv=sjTGdW-vR>99cWX9h)^C=!xR;%MIn0cZu4y0Y3@L2UPCJ1*W!5K>^63X$v;= z4+C$VihChf_Ls=}o$R-X{%^h)E7Nzr-ddFheJ?PCbgq{8mmFCm+H#kr;hX|~@r$&)88SUZ3D zji8^>6hH>Of}_!A%CKj^f>FRaszc22G1+bc9pS6tkA6BwZrVMYy%kMpGMy6EJE@wi z+^>gh2}KMY|D<^PIJah=slM}XdUzMXhT++cnb?-j!}`=x6Uu-yX&!{M)3k5cm%2KZ z7A<~i8giB8qRyFfo7yS!M($N_>uRHM8($RFj#)vok&{?HC}>`BRD>^N51(%PI3e|M zA@IgxbyN)2|2Y3kIxLSe)fNP@w?`&tqfQDH-Q`IeV~H=zbf0ZqkDGlMM+GMjdYB|G6ATe@Ft)p$_2#G-7_Q9bllrR5yOS{7oqppiw(m~ zDk(K+r%nYRD{DF9F@j>NqYRqUbcu_*VKR!>r0+3oXuf;P-X0@ z`o4*03AFTWS_H3rC&Yv}Ni+Twytpk>m{ zk$p!A&ti6;q{3 zDJ*XL@Z{Pv{7%cr#4pMt^xt%c4eA8q^|&nYcSzH$aLRq?Da6`uHATP)XnR&#`-s_m z=E;G!*`1Eh5eELOC{4H6`DqK=sexH*+Tw=$jR^WP=v*$A89INO)b%Twe*mA<1_c&;Ty-83BlR4Y2eQg(Db z6@S8!m4W}skqCNvZ}It3wc`>iu~QK%e;CfgyD^y%y+B666hfe?1HJyJ)mwU=X{+?E>belF6pP z)9!!Zo3t&AQ6pV7{-(OK-~n-;+Y$MfM6)xJ#OTb!WT$4ME-u|hzdjgnY`&+^!K|Tj zaBoU(_e#n`BTZ50kB~FT9AGyAq*aHyc@zQ|s3dirorNyil(?XS(@l4m-&y3};`15lJUre6NFv%xjgT zojADK7kk^P9&buN{hVZvW!bCNxQtlrh(~lgyhzrkH>V8ZVC9JkZqa8Qd@bWnweKu? zPg64^s33O>jzBf3)p>z15 zT%pBc?Rwyo7V~L72EMNAlP{+%4JK5CUhU{W$K!5k^cSg!YLvrYz4Wybl4>0|^)@=2 z+XXIrC?wJQ%lbQ^?P+!&uXqlyEdLU*@IG~VYgv~qYJN{BOM}{n*ca0dXJ?@FaMR#I_7D|GJ?tWohv+#TSf5 z(f|2u?4nO;cKeYyV1F2MvS(ISwdF@->5ATZCpku@gJyW8)dbZ&Qtzn_rJptiqNXks z>wud-7b#jq^@HHP8W%K zkQCF%#^b1wekhv1)*pt?l9qW^AbpE-fdNG|(4^iwo?lL_jQPXhhyL&CA9}~nM~#~t zn#vih=zek}c@WXGI{GD`N1UmqoAKL6<@uyks@$`a&JuUh%|BRsBv}^tKJ!&ygM|Z? z7M5Qap^&!pbCn-Y(v~Lg^vAQF$#HZ)$|jqzo3Lr+L(zO>u?E2#_-0gx@x6IY5KQHN zEBDOE>+<*+qkTqKKsgwreM8Lw$OW}2o;5AeaBPUmUhp95cOK%gNUCJ*JB^pGnBqkA zPR;OI$CT6V(=o0)-S`3S@Y-CSS)H!@!kJ2F;*DviPxBrsgbZU!iQV0`LX>*LU#HvS zpugsFDj@LZh20jvEFaB_j1`0IB5UV<{p62lItb^ST=b!`fFUd5ED&B6Lp5DOLhTMB z1Fy`+e!JIllOUP*VY6IbvuCO|>r=egoSGEuajs_%dp`CBWYXmUEk{E@E7v@4YHd{F z@^C@2Y9Wq?eSlhOeE`Dd3@U$29O1&(rEnVBS(G)bsRq@UBzGrw+R^}r~`I_Wx zqD>zbZ-Rc^tbV^mL#_foGo$I5`qg-?vFv+kplL4ze@2|BN}Q1 znE4p5f@ZOQQn702nA!PqJGs(U4`#w9;|6Cz4nmpcN!xfW3;aM2F~3J&GJzPg2K^}G zf4b2|;H|(Z4Cpz8xM3Ztp*FB7_ucu~a#x}sr0puUl+myPS8D%Vw(dv=zVxN7`;DaM zOiDboW5I4c^7CC!!O!`JQ>}-VkQNKxI`~JWtwVGHqXvWZUFc^c_rc0+==oNI5NLBX z6Qy;P5%SdoCdxS=jx!!7DgAZbG_VEeEW>%wkTeAX{1`e0pFQFiH%tZKeMkwYR7mFl zeLDq5k1WQBf@tLrOgYgA#os=l*zu8Hhv2F6j^rr1WgJo z>!KC(8~BdSLy$ck!d_!{RC4LuH6N^fdcgd`W;SCd?1IAjaUXXPRe~$lPC~+b?BJA zFc@H((Kqj}e7Y!;{X=o5(4?>?coTTNKyP+1P~#;fhzAaT8%J8*~OdcUXXAwYM749~3X>QFiubBV{9SO_T9nA#hB!RO0t?yka(%MfAg57Q3bE zUP=ay{$P9hpedBS;S#F3eoQ1qK>E?gq%JAFp{L$h>7uH%w|!nje2TVX5Pw))%$@rcrvtx5JbMy|TOVyPk*pRlV4@qb{DT9{*HH62-9 z;Us~@dZHOQcs4+ZR_e7Ku6VAq#--KrQu^%KX<9{}xosCybtT0LX87F(Y+geDB(3z# zb^VrSX?9eZgXCVi{+B6}q;*)8`QLd^JlQYx9=Vjx+(hB+p}5mq1*Py-=nFjy4z4xW z@D_nu%w~_0ZpW*YYw>F74DaHiSdmAOO{lVJ+DH23wFXXtf$rDeDrpORm~xS^LCnMV zm+!XU>{RVAKEnQTV4uenw3o&zHFC<4_TX(>qUJ(sP@8c@xByL(g;x$x%#&MRSyS=q zH-r&bp1iu82xO96Z#BJl*1mtHNm~+rHz+@(ZEiVn1=5n<=b5av6zxuJZ?KFElVu@j zZ8_xGe3-=D_O%gcJ=Z2*_pPMus%y{XbdR0jlLw5}RhSdt(Iz8a4q4HXyu?%Aj?Ox9 z5oZs_Z}iBz?0m0R3@BA(R`q}@+v7@oHeXP9)(mVnL3tRFB2ahsJiOTKKI*GBeb~KS za2kEU`-Xl|Y`X0|>)dg5uJBWr*ecagaCIC)QDEaN@^kD!uqhzeqCE9a5Mu~Bu z!ABTh^vK(W)xEVNp8cch%S59_G ze9wRVN?X(|1j+QNGrY2 z8adS4H$KQu)L540$4O?>J?mba8QOO1KLxzbv%i=|)u>WTW9UQZ@`hB3JPFfOVH%g+ zR#fjHI+ewg>R^0?aSqim2XeCq)1H`>=}K|Thi6>e?A+JnJ?jclJ=TZ!1wKA(8Z?W# ztsm^|(n}QMUjDs96BB?w3^(~+SyLV-0_5YZu9?1%yVrkfUtP?8K2iBrm9DvV*;uAZ z?yzAF@2wei!<{GGOscmua?*ZeKH;HrlnKsR^9=GV5kBX^5Voy%7zbV_tUF{B0ujW`)FNGuy3D)~!egV?WK7od^hm7aXqhq4dy+-Rl zH@l=+Lma}dKMrPMhQ#{VVFIs}5;f=aN3BiGfe}c1HSvTQ>tF?&g{HZmy8cGl zLpC6Q>s=Af`cEqT{F)0%e*`FJT>SrUadYg~UyGaCIqd&yant3Dq!1sPuHZH$P>auH zP~$#2KvoXS4aQ?ZscjcazDLCp1qQKuEPk|*CM=m3Y!i$lHN0I?rpDc37wAnyVeK*F zOklfh<~%)0)xj$yFNo*M?G$2Kv>i~+IiK>~ScFsEd%csy?kn8t8VEy((ogTwk^=Y& zSUT{68F`%r7nEGer&^d<_r?<#S|&=^{V0#|Oe3&gSNTvh%k|9{AD`ta>Ya;^Ch7u} zQM9$5lwxsDfCx!o4j0tGdqFxlKpa3br|fR?Rt!oAl}5kWy7R=@#lRhyzv{Gp)B9Pe z7LS$Q$pNBaVcCy#XZ2R%B6M2JIYgExp$O!Y6N(TNyd8TUHTQS=LrXw(J}J_dFf_06 zuEsg0D5uR_;JwvjuDs2i*{N^yLK64lZ@kvJcJX0tDdn*y5J2G0XnRS*G^@D8)XC=A z`qif?PFj^aNoH@BWghr&X!Az@4A0OM?{I0ZXU&n#56N3)8+FLkUC#*hd)%WtnmwU&KlX%@6`XtMJt4%qdcz)){;?(d?Ft58Lzcm5ZyVtVCaiRf%if=*i? zT(@#`uQpP3++d}DO(6zh=_8!i7{=(+DQvm|0J!8tnN=HD^^{?fS}8bTJKG z;hVDI;XL#SrQVg`dj8!Dvb9Dj^n_&=lXKoqtMWUW5nSPQ*?C(-Gk#uBFZvOxGe~>v z*n`u#2&>^)yK*jEc0bk>=BRz_A2e*IhBJ?b|9mx|vw5!*(}O0-w-94eJ8&ffk#s(s zu5dD(-OH=4Sj(l_CO{xUlp^lN*#hy^ay)Vv4bNO5nTECXC!^1k|$>5!vX z&Ko%k_?cg(=3aZ^Zq|XvrXJtHdEc8p(;fIm*wlorvZRptQwr*B^j&`;av}Jow@D*T zYVbvNwo>X?Qk*@X0W0O244@C>(CeZ;eEtyuYh_h4UMd;`;fZw~jQtD54d$%jY z&)RY|NdCZ-O_7rP)pbruZV5TZ#AKTxweXk$>;z=-E9g8hegXF%ZdWrhHYr^E0|SSR zN;Xc>va@u{I_KCFH$4+?(y!d2O2V-umk+lg2_s#rR2}4=sn-%p9Z?rGF#D@v3PG#hYR*~n=V=y$CR z-v#&uzBgm7iux7F^HZ)z;+-^a{&R-y_Q|l{7QsiGZ!ITbj{@O9>~ZG?X{u)};cHo; zkHh>#G&Mn$i(--~a*rH4D~^^+ND{sz9Ph9uGX|4x9O=Jt%3SPcL%(I=@LKl{dBtoJ zalvj@Z_HA)1k=h+5`jgjox>-&oYlzwIy?Jll2)^=bMkg`s^a(Peq-V{;i%_(n4jz< z1#nkD;RT{mjTdd3%pT1b41Yl@o`1WwV)r8WEA1>*_v5wpJR3_5a}@)|voV6IW+Vjh>D}|j ze<4R0^_c7q;PJ8n#5zHm1nN%f64dY0BLSc=Wvm3BnSg)3Cl1iN;7?FZ!>ApwOW9Ey z-Z0vw8VukO%_RYqNc&OHpgUXrhhaiIGa9?}E|xTa#ply?*g;+&{_{N`eX4kog${kN z`OIW6axs(Z3tY9wJf#N1tJ{w^=bnR~1B(|Pz35{iB*!3M!#2*w%=8mwcnu~MK9zjOx5 zOd&;$wShu3Fm@bVCaBa{mpT*`FVsTZUf*F!m|3^B(E{w_#@}+CiRsWB1hw0$#Nl?=&0-P9g6}o3u1m%J* zJqq4K#X}$C;k4Crzp%18pe5N1!v$mIP|klC$Qpgt^xEIJLv1H`_6RwX0*d}FBH$a~ z^nj=9eR~=(*&<&sLG5kQZI&8tIJ|FyuEOJJ4^^CDyX$ZnP+I7N8G%Cx^*o&DUWMQ6 zNXQ|z+@0~AuQ&Pzd0u_;*4rse!d2!NHqE1P!FgIkj^ps%^#_Q`Yh)j{D98eJee>#q z{ZoR~WNM{&eQhau#b|iGM~Li9``B=U6iMWyeJ*!7L7MDee^4H?Up8=N{P9uYp)HOP z#x?a5CtzA81{#*1kuejv+ut7Da$}6^JKp{FS)#kaz3~@j7k)$M099VZoC+s-Nq5Aa z7~dvHzn+^~@JAR*=Kk)y$1RLH|ITMobYaYRF`ukBs@H2q&xNdO%(Jm%4#7Ro+Q9!H-s$p>?qxkS=r~$+B%L8nqGdypT6QaxXAB zcYg*HyaUtuNdxfpoek9OU2{|T7*%kt6+8RV(UWnBJ^NZ*5T%biXz+P@?)bDv<9>#1 znx8HG={3a{;B^8_MQDDTB#vt1@GT&@G=1;v*!VVCK0h$~^0?4I)lnE_ecYPpK|kq_ zKe0{({oY`^0M()Wd*(PJ!uhj^^tH29Hv-Ei?-|9k-deJmR!4$`Z4$uZmPvIPlwT$n z2Hg63F?u|p!BN5}caQvt@7VCz9w=-XmuVS}D0|en|2!tTAVr@38Gi@DXOyo-IkWDZ{o+>zN_OfYwX96v z3iffArrC3F8VMRKO_SFZ27(N%p*z=uXIClGkk2mtSnC!i;jyJkszBg;t_?{M?_)Og zhe7Z{d&V<88ATYY%n`CheIPe;mqh!g!&-h);nN&l7&k3A`w`%%z>b&vVHhZzLvkBL z?62W*BvG!fHOU*X^POX-X=wH3QdSyn@1vy_ZD-wT89oqTp*_@p<2tGz7zR_=L+!6E z^Y~(x;Q!%V5eP#nj$qafA*cS9%AQ0RKS^fSWot{q`H~>ziU}PCufYL>VGeeHlQqfF zPg#nen3z{peZanLkqeM#0?5*J{x!8+Mv~Em&D(_TkB_mik=ahLVDeC=ioyxSm z0upf`eGT?i={HH7KF0?1aBSH zg-}H<5LC3n=3IG`2u(BBtZtbJ;V#VucZOuXf*ZVwOgu#C!-JrB5AIENH^P15+936q zof;;Gs`T^o+c>^uhpDm{J9JEewZmOyz-P41QKr;|ALrMTr@(@*bz5meUJazq=;L5@ ztZEN&frF?fb+NX-|qUp>D3+t$J$U*Nzr-lj0?ZNqq4;N=B9lpZHjumm; z;R`e)q)<{9SKAAviAd55)PkRauL+$H0zhbR zFskVvC$+m6i*j7Jn&>y_2sLf@t`E->gd2@dL<=Y%%#2L;ZeZ1KsWp6f>a#T@n= zk@{GZfwlnnz{T%z-A}JvQ|#Rw?AQiOmsI@L`n>c;F}|a@CU|pLO?F;VRI8d-SfXOo zwRKT6A@~!`;YSo4-Z+RM__;#GyaJEgrw=;A@*SxfDRz&d&5YT5c6QTM2NU~I;c82M zhqSwrjL%I1`lNka;~Q32w?QkKe)9etbV^!#m})%72W(ui=M!1!FA5wu!)i#vZC=cC z;(M20G%+q$nl8p}U{V17+ zUJ$vu@()baX`Z){bN}ND+m~hO`Y|KAa;c;Jljf8Qa~{mq$jdx=r*pW{Q!FKiwqgdk zxvv+*mDH3h>!juH4nw?-V=s6i1~%9U7hK+=N>;-~s$V+v$y?~XD<&78y5#PUmiXMY zw3rs}Fp*CVSL#^~ZZ~f3L1<&Df1#|Gm4n;oelIMRjnMI+Q`@&X%Dfn`oq9OWF)0X!g=&Z&fg28Y?- z1m6JkuJ7N2j!MEN;n2?XoL$hU{!5JPHbY)UjTHe1>}#z#1quL@ca~V1JA4_=gZiHu z+}x4y9m&Q+Al-yPNK+rfI#d3pPRrGlxnpH34g7>V*W5sl>ocBJMy$+f5zd@{jh|!X zQ55o~>9iOA;0<;e>=1UajD7GJdUPpfwC>{AjRN$J><*jo+XKY4(>T`Qe%{+#)4hUC^?o>I4hPD=@E2qO* zw^^~ir$v&TH)syc=~p~&NQ)KGCLADEIJv;PfWf!>hXD-YWtgNeJc+Ju__Z`P0G6f! zdx(1gjFv7kEE$)okB>r6GUPeW@bEcvA1fMhqGPWF9??xXUR4p#Wl8AF<~`Y6rQ9jh z;EpU`UwV|aGu@n|kWK*dUec=F^B+-BH z{;+hF`($47_hZ1RvidyR&wGBW(9))u?G$Vxj=ybzog}KbS(r_VZ87L^5e@g^DepVI zQP8ss8^PLrr%W=keI}^ zXS;NocYtsSxYZvfiVe?yeCic?2i>=Y;va1uX<85sX_fYq%%P)X>%PQkY)S?c4ZH^> z)x(GXu0?$)^6#_`MqG0!0N-hm?rethgGO86{dp{zYwr)kAu$%XVw=|*)hPlwkXbb7 z&Ve)b7mKL_*+qc94>cv1Qee`57`$@moaBpNB2IP|A671Zlb>jY&Oln_9o%^h>m)Kwf0nsoo zj4*q4O0lu8yZM=yV^WRZrv ztUjtN1G8*@tfBt+@Q5yG&DgS!+ZYem3AkmGYMUwz9^6SX_0!z<>Bq?&6BfRXY}a7( z9|Ln+Is+u3vDWP=c4G9P#-#v*AN$eg=IN=qQkX!u!uB7J5%G7PUcSZpz~_TmG)DCB zd(M($(22*gP3sriP1K^dC2eZZ!)M%l1fK2|)T9dx+2`3+uFgPyuqAqlWPi2j zyIf|VCe|CCK;aLyPah}gYHvYT^)x2Ejxsk{vTJbC{cd{%GjSw&^^qnQCzqULpF zjg@l0zzw{w5SF~5`WJjH5q$y%8IBt?OZUpF&V!dqej^iZm7LMNaoKBF% zWah1%Wc#so<=mYtDyH~csAG5nzZ0?r4mkU*C?=}*_n&m7)6lkta}B9oH6xo6mx@O` zKi?B{yH{~r?tZ-9cvEBJOSQkw4&oXt=C&wSXR3o2tB1Y$Qv2kfFSpEXC+_Yx*i+%! zrjF;F-C!+SAbG|oA0uqqOo-oG0ueiAa2bpu&(V94ekGyKen71tTkuL3fp=*Bmp*-4 z(dv0@Sz#k$@)3kMqFspTSwh`YVXJjm(7n*1UtAMR?0Fchn(8~J9E14eBN5@BdEz+C zE!NPqba$)+jlYG9Fokeo=aO-!MTSM<7brLH_i;>2c^t2(j#o0GoKyqi_e>ahBJX^D zTZcYT>Fr=W*}}qnR6`>Q!x^}tlJZ~8H#ply{F49g5&%#;>ZHE}0O+1AruJWs96dH2 zf-DEc0J`}J&gQq6!GNoO7~+G`q!(mJ8X_08K4>swGWuV&7g@8i2~Od3g6B{i9#xWXcRcOw!TK09kTN0TcG4&{|-!A%*Ce*AqADv{}MY1>Ep-5Q2ihY^<7I zXTCxL#>y@=s7c)GXs0H!;v;c$7>p{BMA{oB2R6`Ow1l|+7i(`G4&@vFk1CbyE!Hek zAxbFwK9vxX5JF5PTS5qfF%v@e>{%z-vrP8gWG69M$8L;$pRtT#md|zqH%A6)(#^E}V}-1qzadcT$c)~F`WKrq}IL?)wtpm7^E4t(g>^WlwtQ}&I-Jg;x! zD>sE=@U@!JMEdJiUEs8XSk<7ns#q%*+-lT{pHkel>2F=!RHN#Xi<&kOg zvVJ`$VD$O#)M-tV+Efdj8`LwV$~`#>G-b78_qgVUtMLb$C)mABqPh}Qk3LsA7%8x=wa``9NXp(Vgq4H1DFvPk#oVuVhP5 z9Qklo0KnqN1uNETJKqL5zYHhXc_d%MCpul_G3RGG5hk+|Q4eXkbT%@i z$5tS%UVA@8jalFXUkf+w#}7a+TNXOAo7CMzagLQ8{)EaXw)Q5&L(Eg(-c+Re-~3*WMc z$8-S>Ce$-zyAo(e_m!^LsD)XcnHgK#!D+h~-PM+iP_q{aof3UlvHO0&H8IhuV8H!2 z>qV=~aTOlN&)=_0uEwyg%L)oenyaPb-z(4Gz{r}P!Rh?S`+Q{aL@PDGlH$J$QS4Q3A2UF7s6)dNBW*9dAc2vmdkAbItch_X& z?wcK#1Hp<{n1Ml;L^40Y_X+R|Z9tgIp!B}GEIVky?jfU_jGnU#+A3MQJAOF`5=!j3 zq`oVg<(((8)8%7e)Z=x62_^@=IsR}{&(^alwFH=riin^WAZg&*!YFTretc+1Zh~K7H@m%kl~xG_*SZ7bD=kvb#H_g>Ocjp|g-fIv;Neb!8RDj`-ek z%M6VM8K;^ACSenS{kR5Exil{b5wH1J1qNU1$rDnX~03x}`4KToE$T9lh->rRhCW$Fnb5vG{kP z-u?A`5(*dv2Y*Ghoo;5LIBllVf}3(0`-85nw|;waiOB|B<7x z7=`>7QQr25dYMqpTzbHt*yWECGn1O8aa;$Z?`(#QnR@hiZ`ztI#F4MhZ~GDP$Ja)i zIm^Xb7g{$v{b!qvbunrQmQi2SwoQBNhFepHz_o#x|Dq3A{QAW6<2s&c$S9mwaMk69@cD%5P-oqY(o$hE4J6(B<(e?8=Jr%O6rx!tWxN1 zZbpG#K+6kn7BaLHrPql z5Rh}7>Y24wR`y}e>Ia++P=2Q7!g2IBm{M0@KzIqxk!TF-AF4X8>ng3ASV5&! zpCKMX57zZNu78Q=a;aY|Tzn$Vor|{Ffjja;o)!Q`7OEL^fL({#ll=cD9E0~?IL1HE zz@Gn;FN6r;EZmho0@{l|Mr^6&Bi48hPxK%ekZLS7&&U1$NXr0xF{sg-2y89`L^y%|AXAxZuAhv!_C!c>!v%5i1R12Y0N8j{%Cp33_diR*^1r>%h{PbM zf|EEtm;kUN-Uv4deb9$TF*~1RenMOpt(w~3;hALmdAjuz*|{8fiK_h9o5yv#$a(yT zZGKMXN-ZK4a7-bqx>&~Uk_ZIX#%*UQ80*`;#UH8YQNf$k)1dAa1DtlQ^M4GCFkW{F z+R_!FggXb6sVNiUbh%jTEj#;5|tGUczY*H$7T#{Q`}Z?`HU9z2qZT&62R zEn)5i-!3aP3B)%0t(CJ(ReYaK$rlO<<==A~SjLC_kQ=0|$%7t+HG4Cm+xEBO=hNU$ z3xA5c3wYkAIv#@n^;sKg{vxsiQMc3ZtvZH;;DYLJXk?{3NncI2CTOS9PZTKBb7v9C z^8`0o0*HJo?vvt@H6FOUgoY-q6B` zfa3JkktV7$)Js4)o{6wu*W{*SPdGa_`K&Z#@Y<1Of1>t2jY@HeECF^f^6c+A`1&k4 zU!?CK?2%DX#3r0Y_~G`Z*y40x%CQBgsqynx@}n(|SwM=B74dI+c^kY1oO0}a6gFsK zhYt_hnWz&9aBm5$5!pKvDtAIQ3@f7D$F|Mwjhk<_d6m))8@%^Z@um% zmXj3ve3#4hR-pPA&XN3uBYC!K(t1!iAUmbz{mF677+CUcAS!I~z;kQtY0)-Iqh{X$ zBIo3kw!~VCuU8voa))!IObns8SKYExcqp4Z`XdKyJ#vqW_@3N`8B zIXOBp^2U4ETI5|dMDuS0S>b%Ifk1^v7OZA#O+D~^y<;S04nA!1*mrbZMB5q}{_=|URJGW5rue{rrJA24ug0je zzQNx4v$APC{LRGbCi88FPi$Fvdrx7L3?#l25jrz~$1`1oQ2B@DcNwT&^kE`X*gG@V z54+qQ7c-uY+N!G?h0I zZy(mBU0s_nSq|9i%%ou6n(=Y>!34WhUAM7n5C_Y=xR~`D-MhL8QBw7cE|WyvD6<=kPA(09`s60_FU;y=a2NG)uG+K9 zbn!jz?51>$P{(JBCk~Y`=S3-*h279YDX$l!QXjH-^@4WX%Xhxs<{@5Badc3BX(veA z2}#F;oiS6C1@x9TPM0X&2?5*y1S&dMpRc4US!|v2X=8EFdw%en?X->uBm@nxUdXrI zW5BrlZ1K2XboLQ%BMz#P(lx2-H^TO$*2PZ=oBhg@RK4?JTnlx2A#q-keX9|^sSRgK z^MNLQbz(IsxRCAbx3>_yx4fNux=r9jJR-Rlh_tT*0bzxN?(wiZ*Y`i&y&0^ocIKIaT#jd*s7rR4o(vp@$qo z{}`BcClen2k6%uFU(p#&NLaHt0=7NDn;>Auf3*LV&J8Fmbu_P|J|gS~-p;9fY$37@ zt*3OT|AeKw=S0{ujQ~9M|O+-_<_g4tmAS0TFEn@A$ zzb>|tZ^01u4;Y3Uw(=6x5G*!x=Ky;T5y0aK@{J4uKIjH$49SewrG9ofkr@D$g9-OQ z8UGA95;sdhJru{MsLGN>!1`hZ0R*Z_63PPFrz$}xQr9v4vEv;0!HUqpMj?0n zHtrYD?E3Zm&n^z67UFZm#Vgt z=YTu7GWy^wcgO#;U%`?O3w4OrgjhPMi8~>WpbrwJ&<3OS;p1pIw7cRS*iFM$htlen z2}})70Z`p32#Tx#47T-wSX_WfK)-|NEkKgvX~y7N^Q$eY84?S%z-7^&HF>&hxJ*yg ztspeIZ%rkmJ~X)+8P(Th&k01ie4V@bDxR_D)}0Q?o48`Z3s8~RWa=<*Kt4gd82}86 z{&h#^(qM`S)@1mGH<35=M*Lu(tIdQ$$=yL)aoLBHqF;yf{=u(2KEi4i?SOm@w510E ztblM!Ol|>u+0Xv;^@rIFbqwArNA(DPJ`1S-)JRdLePAi+ z&7fz#1QrNCC}=`T16ix#c0|X8@i@GpRR5$4PoD=5B3xv}{J{R@Z{4FLQrQU^MQ7F{ zR_Z-zz^V1A%DtWPO#G$R-1Hf{{&gNSCwqlrfhqe;^b5C|ZdG$I> z+N-}Nryr#{R8t>BN-#MO!2WnQreO9plh=}R8>w-?d?7d#CJ5$1J4)%}$H8*X2>n3H z;k1Ow!1eFj$qd33j5nCPPq&EB*sh-J`Av40@RFFP(Zmed&3&>}r_&eL)BJ4fV4F_aY@|TK`*Cd5QNl_%DxS<4H7Ss9u2LhGSDgxsDD^{97I#J} z(wE_ERO=zYSx%C$8{Mn~O`YP5D7`lN4lrZvxnA7iFS~QAqe@!s%0@(&&$I6f;{5Ja zht|k1J;r?7R%BK>hY{Ii{sLg7<~!Bwv76YYd41&2tJ*&Kjq~l^lh<39x8#6YKa-9H zF>&BChfdzeLfjByU9_+lXu2!lmmP*3w zeV@@1|2=*buZSzv(9#(Kk@AJdPE_{UJoc8p(TT762H?*40*k{Jd){`0XZm_at*Zyv zFqJ$HOTnAAd!Zw=(_w=nu`NZp%BTUOAr6DZp7tj97&PAQj_!my<13i|Ajl@PdVymE*L#j0dM(GKq%DEA&22~l=?DM~J ztT;}ov`40^-~DWa8VI6SQBv~itfwW10C<;KI0s)rESpbR)?pR0Hc=u3mV#1VG z_J5I-Toh|cJ162geJ>_1_b}5XohIHWQETmIkhfpWE76%ZDGCFCEL?5Fs;0@B9MxG` zHS=)slGQ^cu8${o*eq$iq;d<=J>YY_r>XL-bws6@6zsF{#Tx;J8h5425*20NU@q1F zT033LcopCJLo`jvK1w(*GqGFlPy=H+hgKyr#{3-aP*0VF{e^HP)Xbxv!S@&DPvPHt z^EiIh)-hO!*%=$B=V)_rw4jBP$;|-=V8_CmlQ22jZbumaRd!n$z=x28=a^G{g>=%~ z5nj-$@yt?&wE?o`^1)r}%{z%dW{dh|e9Zc}O1^3C>hWd8Xq1AA^VN z{L_Ddu;=ROzb`|Z7E#fyGH-dxXc;)l<(zfTcuIpz`Fr~h8YJst(`lNhZx{S{!40A= z%y=deH z8G`edrn>LV;={JA&z`*d#Q7Ut&>K720h{)Zq}!w2*%j#Qz|rDBg&uu1t0RAI%uQMR zAUBi0vfFh7lpI*d+4nnJBoY5U1$hH*8e)91%!hG<(w!){bH~qw+WhP`JhYX*2l{-u zza2!so(1`xtkSTIX_=(u>&y+RH=R|qOqsh8pLWsiY+B~RGmfPb(-I`P!UaHN+A){! zzb(a@I$IdG^A>xthW0E*Vi|Q5JnrO6CT%9-F!|CFm#-XxX|rZpusD_KO3igfLa62$0o{ovM-(am?FOpXCBhuxRN*R z?mcVWKYgRjr#B~0Wl5)=^^!-8VuDhNII)h-o-ih#Aw!nfUT!U3s#z(-Z9kYd+&^bi z4%-B_t$&)<0!)QSAvcZr&J1)jVe&}B^GC+=c80_+wY%s6sc3C)+5DP@O@oM*MD%Ppf`xj$LJ| zbjO7K{hp(e1N2Vee+<@uPXjZe?GLC{Dz1lf%1(=Hkuw*FG9Wv0g_x$C=F==zK8x?g zea(IN0E`w5A?s*Hg{`U9PZ(0~`np#>TI|#-no`?p_2)wp^!qK#fXpT9K2fH3CtG{h zz@4oxSb(DKG}9g`-vuCvy}^W5!h~o@n9O$@oolVJvpYL~FTolL|CAyLmzEJYg|%cV zrE6jWzn`gdT|h+*Rt^41HeyznHhvIlIBEjV(KXgSOJV~W`~4>I)i;4WDNSoocPf{c zrHu&b5s}O9=~Qx8S?QZ>I?NM9^|;cqNN3j|BwE3)k^4}t?lRBD4mQu)4W&=r%zH&< zjX%bA1A0mDXJ?lMcUJNf6)po`&y&o}rkzg^sZ%?r924ne)EI=U6ordMoNjbiF2Xnq-QOPr)qtOdGZb*@ek11_*n*zD)d+GCUT(Y?9VGf6 z19+4YV=eV0$KUwHp5`@xOmA}MA15^rw8@k51yO2+to|QA(Uo~R2R|T%{z-iZECd^% zxHa^tA;E!B<<%y{$r4~GdI#9J!{Vr}|K~W058o{GYcbS)$npzYDMWAG|1NK7!J&yB z;Okw$EF`qw>*yCMyjdF{wHA^Q03R3~ia2o13haPz0?wtTMg*Y1??JEt6X|JHnhS6W z9rFS7UqIlJ+Rb^)H3C>2fb*5sf#(SRV_KYmq_Lhv1_s(2MIbRr^h?<_-z~{;I?W@8 ztk2y`-E#s0GW?R{y}CDRhJtWmCih9=qu702iX-*ZI2ad?Bp6Q*fQ|GrItVjDx>~ob zucRcZ)$K&=n94r2UzM07*Pjxd*zn4T%M^S@49CIk7IwoNr>MuPU)##FIMOOo9 zkS)4+G?fU0$Wmvoz!JmJ?ctRb)fY#&l3fHaHaiH*apK(<;#7Y8UOl}qj)u{3my;AW`PeJ-O@nD>&6b)H_M!B?p4 zgWOhQ*e{J|r-HhCL4ITm4BjEu4khJ z;`{g4aJ+Y;SlGp(utymUnf?mYGO?Rj3&vMmRx3A=mX;x|h>7@<_Y z)q0g3)zM@;07J}AbL!EW!1gk1RPB-GujMu8|6FNFdiTQluARiVgnNCjGfwm$S;;(!IcYa1Z6Xe%HdmLif7 zs=!oPYy#*BgL5{AP;+&E4<_QUy|dJ>7NZ0trSpH-6)Ppgjxo67SSx@}{$Gp$tRF^g zok(RO_6NBkBaFu^RgnI#yGO+*=mF#u8FU0ign<)S zjnBE6I(Bp6qcZQOlf7MU%`HFY2r_s$|M_AuY8{C)>Qsiyz%CGcqok%`fN%2cnrByo z?`kxAa`w3FsR?3nK=_9*j!M5l4$LJtj`O4&o*gJVDV*CAQ_;n|EdSApY!N-+KI)+g z1W^KkH|Yx4p$N{gdF9hxa{t0aB1Ki)9ceb4=YH3c$>eVn-|tu-KI@$w#*=_sKdLnO zJH~TM*UK%X2SB}4@1Wvf%&q;Bo2~Y1m=X3SY`Qi?s!oQ9N<1K~XZsIJ?yAFPk_26s zJiT^JERt`k?YqLm2iA_R#NS5v#;P2hoY3V(p^%X{BYkgys<{GFq*Uq*qveG3IaPq@ zf}(RM(+ccp-@)#^)XU%hVACBttifAi=jSCiWc5~FgzoNDX*2f_9|TGs`qEjjz`3va z_h0%HqcqR>#vldn`?>52nA2G|k@3>gxxvEZFhvo8@Lj=o#z&EG0YsYy{M}<$ z-BZgWN~Ue97PHFZ&S`$^m0auN&oU~PjG}#~0wpu60nRt7nhy(`3PZ|#x!3C)yc>;} z@6sasUxr}PZg?p>9(b|D`OO|f=z{d(!OFK@y>DOML{;?f+ZX|RM#ytb2^pY^u|o<% zZKl0@!eFMPpK=LbW~X(EG=mK+k9Q$O3_A*BZlD5dqXq)z61DT6n>oFel3j?GA9&Y3 zUL0ttaP44Z>6~kKjs*YSw@|pB=%LwcoyzOn zbVBiPmU-^^2DPm^d4Til4@w0*2y`Q^IcuI>zx5k)5i7mKf1GSI0aO6V2+9)nEalvD z#WactSz1N5jO1)Dg8h?i!L;}GIF8O@O>uKU5X`~T=ejBP|GLZ5qzAeF!W0S~Wxt`D zuf{K@eZi^m__+PJ>~v;Z8a_w1$Mw<$Vd_Kjd@l@y<6fQpmI&JPkp@r(!j1j_pK=J- zj}F$vS9|LQN3l=LH^+W;u$1t1lmsu3^%Wh$*U)HksG{Xzx>?G z13xiF;}ni;1y(M!tsdMOCA*CrufdEyf91zlvivP1ism1^g#!tYyv;_SXfQ4na?bsl zw|AVji(G6s^YX{y6F$t6hReovDC&3IKlFvvHUhJwfH%?S+;>IdYzbKhjji#F_3QzK zn3`qg5#MALM+YJ8b{s<)*&{*J6<_4nf7yQbh8|3ryH8U$qwTH&BIrq9xr_)3qr6`;_e|(RLkufNi z$-TW9$?bLP!=10N6n0ygbn`We94U@z&%Yw;#o!Nea_;dA05(!(Qd4L59e0Mu=39cJ z-4^*Ve23pMS?~Z)3laGq#!r^R%UseE(HZB7t(~AtrXIgC1}YMJFyYEpKf$XDU;OG? zb6$MUSG$`F?`!TVXaWw8aiMS?GLSe1p>lKT5jiRX*im60(1Ox6MK-;%xlbw^D32>$ zcQc@T+d@#GO)nA#U~vQjTUr3E;>=%B(urmAR>4li(jqQTlas9LvB>&4mp(##wsX}J zt*$s!Ve^q>9&Zp38a0JR0U1KM9mnb(CKknf5?y}BpgwiE_|~g~S^P@8PQlQ z5imla>;9>FY-?u@FhE@UZEUtMn?M+42d=1_@40A7x}=SC;lMwZ=lsVb2oIcna#Pi? z#O7@)Z`$hKu*QH?^+)FSOgRiV{{XBASpA#3f9COrS07zTPR{&pZOHhjHo!*miQQgA9-E%5tMY!nAIR;&7iARC*VrK^ z_MgzwU@D}N2;OHz?XBx-{j=z%P^jkPt9uMr-RPtt?CBQAj@C=VuxkZn*@^kpFfZ@i>`T~;ZCH$S+N6Tx^gGDOM9wEX{2G7i_Dc0$Bw%(j6?2nz|zt~kF!gmRs$`TYT zA`{JZ1D(Hk`jeSWlbOfIJDdw6v2)2Z@aJ~Z-=2~DX5a{E=M!X)CCNp7M6Nh0wIe`A z`zKB*v(C05Cu|q;cr{VKSxQon<+w#KGk&$GB<5zz`*|h4;|6?E!6I!j6PFqMs0SPl z(zkMgDRJk$8EF*E^*Rn9Q*bEqOBDH5YJ~h<(B#1`E4fyu&iG5m;|6y{*}$06zBrQ} z^+?(!N`7jJWVew=_jw>V;R+E!R)vt@05waJ^n(EDlyrhMK?I#*3Saa_{l_3<&T;3@ zT-n*qs~lgWCa{JSN!TNx3@@XoL3OPi_eIltwchLX`whXDs}A4zP|y0&Z{z4yLG3FQ zlL2KX@8Tw4LVuFPtYvn0#g1vKIsazSMh4(bIv;J%pFzxC1{R zrrs1IZe2;V%|6xsi2nKo(7*Zqu`p46z(%BVb?#*>tOrdVOD_nDYxrvEV}PQ z(oKATaJE6P)o}@(g%Q{zjmXx(vfCq!C`BsV0Q}B9m{W}igJ1ilXuVgr{o)kmwzjw`jhQe1H5)jiZ8;>^aJ1aJ-E^!di{ScQz|JccgT^tmzWH~4_# zyA1xwl1`-!9m+1^SQ%*=~!gi`K0Pj&^p?hg&vuf zMP&-w-AF*&oB?zhMDdaa$_KOLuWl2v{v3vIXZQ@S44`1CdN#&yz-pbP^z?q*VbHY@ zFnJI88*T95INZtBI@%xG26$b$hnqa7J_35^s8_K@6`MQ=yHwWSzoQ2~k@|JTpQPy= zaGw-@;+y*5Rc!oY>xXui{{dKr=)z>uYA~Q@)2?sym;TkY+^(rM*6EGqwKT1+>zNT3 zK0b>pqI*kz_?K}Uho~9MqP&K;+cJ&iw8pw$fV#DVIHAF#f_<*O?=pPvY_D_|ONa-f zf_fDWrDY{|?@st9x%|%3cE|u{I`!$_i~>0R{6Al($3#UdsS`AuJ!%3qHt}&}DMu<- zoe}L5*nzSwquUZ@6fq}Xn}WGtZ80qt?Z$6Q(pHgNmflWVnDxI<&g8(vWXf$l*#;TG z?%mBy@=p9q1yrrU)l@4W$8QMus|?zxA-v%B&Th=LS)@P@gsHbms*CSdzBR%c!4-$Q z3aFl*R7B}k)K!K0bh%z?MM+`q6T{#AmW^@ zo397n(PQQl+~uGb^W6w8&a*I4qE1=&wvs_Z1HW>|?RVS=o~{p{-1rXht?s}-&xTn* znBbW0@9p#Jb5f1gAI!i?Nzr1-akUQ$Y1Nv^2ZE9*qdgAQPNwr|f&E?`_{V{_c`U6j z8c#|z`PaM&2jsl-ob#PPFqx2@wY_^K*|A;8wDjxZpOgToF+BgxSHL@yGaqqJHy>_> zXe$F({h7N&%TV_w-rD1}RCg`aDwt3K!H2tE$Vbrovhj~FwD;maQDepf2rUo8N9tZN zO5R+lGd18CLi0>2V7B`&jb^{_<^Mg)DI)@cp=idBf(8PIuf8N93=FM<^ zaChx~;-5vb(Ya1vqIfG!H-55LWSp1J690?@%#Lw4?9fd1wB4k$$-b63nor1?YpZ$oBv$gdS_1O?y9(t*x(~2ECRZW@bF{Vts0r{(N1@@Ru5OnpaRh^og^np%V zz`4wyhYFC{9poC~F*&f?c;IIgXGDV8LM~)r5;eO1uOOWpHwWvkm{^={N+sVD7Z-OD zZ_udpzvLg=z`YL`y+{K4-vI&H!&+Pus1P2et}B}$og2q<^yy8ayq4%)6&fCwnc$TO zxo48g*C)AGC76J|DUKCExA-?``o;X-ysdNEP0m{Wpw8tTMpB{gyi_prHaNY^mBn?dI& zA^#$Q#XI7{HWk6+m;HxUvF@3i3-O0SF2CVYz^2}TuHo%oTN?QgX#J27IV*&8B#g&U zj!!MJiqgGG{JCCwMPG1PyHAm&DqlKA5aQhBB2o%O|j+_>xQI5GjoTumLM}DQj!PYs3%*Oy8j{sqxL&CDCqbFN~+UAx%br_VpF1?pXP3V z!{KDPvo2#;isXgS*U2=9yXi8Rd=t^lOGXiY_q3hp_xZUm)KbI~-NT$wOH)@A4qqk3 z2_fI}^`X|}=*;;PahWY^3Kx{~m+TLO%X7;>)N^~f+HqexE?_G`>q<7UGnq^Q;E7$} z;b}?(elmc=wq@&GXu-Ha+&SoJzySYErn{jRfO$p-L+wBPOzZ2r{hCSbE9ZPL;tMDl zq3`g_*`9pGQiI8t-F^eJI5T~xt&rdEe~;(GX$wTDDa}4Tr5@K^o+&VVYdfvM+G`J3 z8+cC(o1 zK`+o$K@s3kI7h&2*HG@0tvf)RhhkWDNdk#^Tc_|{4t~_VoXx?MdC~uBq$vAe#;0QRu=?T#S1e6&e0VP@I zfxVN3v-xI@Pu$m~zuOf86OQFzQ(HfZE`8MYEG?l`&<0wC=Zyeb9QL)^S~C-pGBH^ zhC$gQPd~JiQz3XdSusBei>&Vj-hNTivL!T)vkCsdA_8ZJ)ois&n#K2+2@b?hn6bw z?A;zeVuX1zb`&r(5&5W_aR820*2+5RoGni_BC_y?scl;g?%!*&a7C%VSNFO{@u#h? zn!j^Z`RuqN;D?wn?b?T8NzVu|T^(`*F79Gsf#!1#5gY-_#(uledwL23_;TjgvNMYB zu+1&l)%-Eabk50YNJHNE_1aT_chX4CCh-2knVQWoYwSv&F9&UILsWq`_z~K%o7_P7 zv^n)b)2CtK!anYrltzWf0H2UY@Gnl7od;&<+2rX;#qA~|o0*Vql|#O5TP)}5^Jo;v zNI(m!c2ZunCpS~V`4#6F(kWRi>8}~Ldk2A=j3Y}tRwT~D7>L?*Y>Hlu`*}V2G&vQC92^Nzy$zp4A<|v$g^}%UG@p!|v@hg<7OqNojBRvFnF_XD z_f2V5jDd!~j}jpV30~g&DWH0jogxNo45dJ+iz9yD) zN=pR0qRE!3Y$lUXN4#0vxT{+t%_g>}P|4V__RXX+otRd!*A=vhteo%J1W!pWaECQq zjFozDN9xePIBUF)<(uG9N3`ro@oKWdNePhI*4-)u%%dD!0~U5a2e;S7M|=PdGszF> zh6k^rO@qGZ2X}It$d>jG#UNDt73Sj*0HRwHTeE=Vb*_7gDVSw7bTryOH=r|g5b zR7c13O;(J4OqNHV@BJ2?fQSfV#)t-_OO&b){6XA)mrh`YsS}zHp;XO}|wjd*Exzjqww2NZaF25+p|M9R}P`Cbl93&(?FkEWAV+ zbpyME0r7Vn`$)eSTh}q!8Ahb5ga6T4d|)Df3oHdXJZ)uZ^VJ)d>sE3I@URw_Hu{+% zILKM2M{D@Q_Vt0ER;&izVM-!7*Y2Hd!6=kk#u1fPwfO*^uL`Ig_sVPM(?bOsW7_LG6OYwp zn=c(*Erait9D);wU$=C?m(?A_E%oMye0UwK<60oWNP^eu)+D%NewwKReOYRI@&o#_ zl~tSiZ>aUAM#Y6d<~o$(|ecL+jAdDls-qqLBjvmnZj+k{@-1dknSX8-Bo~EKf8ztcF~j(YljmMgyQp z3p^DeqS>>uqXQ6T82cF{_YE8-oVUJeApySV%o;-}4Jx@Y) z!|p8IMYzs4&y_ zzBVU73~YTu^nxQcV0&*LtPBT^hb{=;`w)dsi>~=}cOhjJ` ztqze3E=M7B<{aQ2IsfBBoMk0Ql`0-R1^jyzN}rE4%lKY32#sgj6`r_EA&1Y2>Aj(g zJqcgfjR1INA7r9!FEsw8YTLO77R)l%D^I-^Cy#~Snp<4+R7Qnr0t2BoP4z$mCx8Zg zA#*I6kKaBx9>-6u8v4|Y9jurp9Y5WDT`wRkd*>b={hjO>eTRRXg-@{iEjPa58DI)L zh8)OrT_DMvwS7LrCb({3p0a)d8ky=9pv|D1RpUjAJ@L-!KhS zZMX_RjpAr`$>0|uVA{m2qc2o$Xo~KqYE*HV;})l(n4(R{HTcjx!4f@XN7_zsXS3Q! zRpp3-KMG`O8&9y7-+)eyoZfHDTu7=nk&BOPgx&o-&$akOt#VFby?{iqTZq71zRz&}}Bk&(XJ>oVR zhn%k*&n4#e%I4hrk`j-`1m84JwvnXvT{>W{^O&`%q~FE` zFOPJr{w&#+XWf^U*Wo6xY`Q1yU+SlhO!LQ1TRlm1{bA2mC{Wgo`tvBl&cOWF}q9M)T{4-f(ZeWgKjF8*lw>_8dUuHYE5eRwcCo~vZifA)HyKjqk2!mpA z071^|2cXF!pK9&57r2Dw>mg{b{5i%523Q;%5%zyI`gVXB*5Cp|3)X=m9i$7+r1+a^ zuOs=!MU4}TSeV2`j}(r9S>riCY1F1zuE`8jNL&n$DzyS#g8u$v4RxDyBI&&?`{`Qh0{n_gYG2J5B8?ga;kMwlg*FcE zB{m5GRrf%w8o->o*A8TGoojmKT&cI*Q@={sd;-4vAA>sf6MPz2Fvj38Am;Pq(wMqO zxpkKLBi8jfP<6bu*%&0N^@XL_)7n!$r_OmbG+I0nU^Q=Ukm%kU?ao^iP=pHsUp(-j z2aCr26jrVH?3S`f;lMIhwPrXm?HdD1HB`l-S&X>?B{Gkb^d1WOqHw%V=j)&l*2(-QIUKZeT?1w2Us z!um1l$0#Yh-KiTS3mF@B{wzHhc5w>;I3uKzA92EA&;AYj6MAP0nlwBgWSu% zYB@VDabi{)FsfT0bF&Z0-T?cyIEfyL{FFQyYk!bHawYcW~w zqWY(e_%`caf7CVWb~)r^-oM57Zq67b#;sgmKx$fpJK_tht$7ozqF-db$x2y0h~QXt zV5h3H9j&79cTFsQfeCs5RO}mqcn3b^1m`4nR}_-n@#DxdK8g1~w9jEXKe62=CDe+{ zUS;^|RWI8*Q`AdY>YWazaTYR7Cmu(GtZ1x4A*is7Pbm>C0fnoh^mox&HRgL;24<)a z{edRKF4jeM=~H;cFsE71N}Uswum~QWV*6Q_tJBdENFnU^@IWp#Gv|{-4BcgW zp4Y@~@VNcn;NYa_KWSG}zFv-K8%I=aS7%=)+Yzn!%-qV{ZxCvz8F$1ixp&H{Fv@pl zy*9WV|zBSIf!sEoe9e(RsU zLIkIWC2}E%N;M$YVPp_J;Ttt=3zUNqT&?jB6*@&V(vbZ7d;eCwppCi>ud{Xm^7vRI z4lMs`q-#Mu>_>TCgVo^%tOTgMfT2oo1ZwL(#pnf@vzr(Bk^qV;7pZ9S>wA6>qX+ip zqS7Y%?86=(%zUB^f^)vE^qL?4{Pogz8-sr8soaH-hY(CblltzQo5R$5e_hoFz$Vwc z1H1)N<`$cKGX30p9Tuhi)YDI<>CC5qBZy&wsziuQCiET;7JiH0Z<*0 z=Q0cey=Q_}ex$6G7VgGvFbAmbpJf|4<>u3}MsnQa@JqnU!rl?gNU_6fSfhGcDWyGQ z-&{9{>YYo~CDep9EYR!>vDG#vfS8+(^sM8--W*kTOXE;8+=4|EFCL^V!J8wj52L#?DE1a0W^0E|G> z?FQMW%wfBPZ>Cy1iK)1#Ni5BLX%HIc8`kKE=@<(_74}~JIqI_LBF?A7X))JbuX?G= z?&hoYw==0LaYJ9*{aot47Fht_La2aXy(P0t{YG zva0_0ymsv{TnVc7H1TOIOM(ksFh+kS^DL)WX=&3F6){m!Qk=R4Hk$`ni~zIrH(aDL zR*x<=vwr!Jtm|&GMp4i803K_fxIH^aCIVQoxJ)!FU39L`gCoOZp&u*O?<{-#zp?e! zVNLaM+%Vp#C<-VB%~TLjx=~_ckRsA0Ohq~dQUk^&ARsLuAUToFNjIZMBP}^bHyb%% z+x;BxC*JpZ-uDmSx)^NdoL_z86FNJJPA+Wv3>E1>%KesxB`KOO;8zcQofM| zKMb3YpNuvrODtV+l5LxqvqZhH`x$y!k*+_CbbM6%7c0XzE;ZfHKc5)DH)8!&%C3Zz zV4Q6G@e+e+#HO|ahFVfsB$ z2p0ox9RU|7S-CQ_u5B+|skvzAXQ*9K0J81m8El#|sG0u!OXuiYZ9(tPi9^jp?klZ3 zciN@dQ-7IHYwtOph~iPr&`=cNwRSj*g(NYju*lqOqZ(p6>anes5DRzVsXkBhG{-Ib6O8@tvhI0BB zuK$?&#F)w`mn#aCILFaFHT99i+P=or*hm4gxT)EM14bTHMTkC+|7bAC;uGzSO#E=u z8Cyd4?gbM{Xt6{N{Uztb!xRZgI*KzI+n%mHsVDNC8B+X_^FL&`MSf>q<_|f9DQISA z$n&IM{3iJZo^$Sg&FUntBLFgKMn>dlZ{TRv%XJA?d39_C%6Cy?zFN75nDOAAo%yi6*`ns%;BVJ_LRJTC50apmnj z@3^c-$(^q7je+!Gq7=LUJ01FtGhN&!_nk4sSe_c!-tdiF5~5FiuY=w*LQsHS>HU1H z77{2>6Lf(V>Eql^Z4y7O1IM`bt5>ENiBHL?3ZmN;xgW~@jy|gXd&X<|gj-}l8Tern zza4^^R9|RYJ^T#HA6m?FTeAGE)KDo@$frEtvYu3BS?qy#80+1OcqM;<+kVK@!)LQP zX6b|RW7fX$;2Sq7-5P^A>42a?Idm%&kDNqlGGw<-OdSk;Mj6yX4ieA5i@&rW)p>EO zbG|Tj-f}eH92J3@f1rHQIrL|jb;_@N^954E+B-)O^u>et@ng#P_ACyaT?Iz(%~Uh^ zXCA^IYH*kc+E!s)fX?}#d^0C|e#x3Af^SGvYWC@@$d<I)-a> z7You%hGX;T9Hb_Ei<_Pgq&@!n&0a7EICBv$WDAlckrp805L>ZWi_4>x9318%yW8xq zYHjP2hiWN(^8uHpR*0(274ufJMXyFkc#+wS&bFjkm-v9+$)z~6 zMSX;8lQD}sp>)IZvi{Mu@o8`pwD?cAjW?8GIlJ}bqq5X{<5_JE4em<-$tfGYNCecT z{pTTHjPxwlBOJ}R?oNj z6#k&SGpp1@PYYZ&+q7JICQUe|(kl~~77|cg1L4Ft{8(#WeZm8eXC2jKQ7> zgkMA8Mg}kSec?KippFD-D^1V(wtj6(_tbX1!$TRl%{0>J$3G5xR{|}uP)b0AwDbm$ zf|QJc?T+h8PrJ{I0c}BG168`Z?j-|A;!Nm}@)sC&L8a~E$+}`2A8NlcG=okSN-k}v znv%mw)5OI^;NV6v1kiecsvo z@#SGX(i_u&+m_L8giR)fvMCvWMRsRF|YKk-RiPeeURfbFWUp>F0z6ksb9NBd`R=nWaqiG$5^Ij_g z$r9$P-vSjV5S2dk?78X!j@1-Kr}n+u62Heg`U;k?3aXD-ENOq2isZQd$8t?{8hX@F zPDyP5@u70N%3y8!PlbiQFdVTC_O5CuDuW*$JKp%#RfHzp5hdS{**~fx?SeXXIZV4< z=fM|n;a?agc3Ikeev&u2wM98!8mcqRzBh1DehYR5Ty1Z2iz@c<*mn4a9{RD7pkZ&! znQSQWf$`I%skM3^kT7BvS>~L1#%T&rKGQ32{(?ofb2El?_%ty4otdTd_SUq630Hg_ zoZ2eF?;N6m4y%oygz$}d{($ZG1_mL|$_H=@!si{eDF<#qmyFAjaO5OWp|nZlH;iZB$I)AH3te!hGbz%&Q+^ZiY-QUe?&rVwoOqqvY3GP$0p97o5$wapgYDj$eu{Qux z&^BbhaP##m77TtovHmFRIC&^o!WSV;h$i20jh=!KMQ_SAxS=6`xevRB2Zf z0VsQt_!%a)lg?hqc8Ic@_Ik{Vp5M5*1QatHqTAVj{)&|g1YwvzXx)88=WeSk(u|nI zqpoy@QRjd`Xq(qA+(GaxB(ezTQoCDw_7dC2*FC|S;Q7yxUp$BoaM`Vre6(@5!y@KO zA!BJ_7G~2?m>9090x;xmg@gU}n%p2RdR7oIV#LmjixOt>6*?Qcct5ONqanS_=ja3! zG#oAD2oShjxo9q4kZ!UFPuNnldxLiXbt0sP5gah*Gln1m4nq-MaqM1KsYfHYHa&gn%M5Q5s-QFp{!>ky#m2Q_AB)k0=XKO@gonqXBq3Qc z%SbD-Lbhf1IvhkY$QmrLo%*fmr`diQCSByF%2{~FOw;qEr>W(vTjnd>4FAOjZR%xh zLYzK9yKUCD-SnHJY1@LjaO}VX{lW^dtj`*%Z~Gs-;jWikn#k_F8P9z)?W&%JdhVsh z!3sj}G!okBzA*F1)X8aWurLoWytCezNI4tah<*hqaT5+pv=^&eHzARbONWD3XC<;s zv+ITQB$nTQ`_PGivuBklENN9D!+akR&*`-R*t$54HUi7a;}Vr!p5CZYW-9+ZMYhSF*x5=SKVW zrK_sYr)$ar=jfzKSI)rHehU#wJ>sr?lNiykHc!jJ&1b~EZfqn8ExHQ!wwxtf3Z@bY zX5P|MfU`587coJ-0Q^h=DkowU7rnW8)55VArO5o~0X8Ggu)=IUZ3fH?OK76_w zs}e5IbK6>LI`G^+n#`QJfJiGK-yKzW$QR^M%tzHMXGbNkTm~-}MCGo`0N4}{z0uK? z_)-&DromgE1COfhb!X91kv04xEh~@u1T63GNdKJLtvm%O!?{WPc#J>y4R+CB_p#D) ze2(Wyc0=5weO`rFWd)mDWq)%6peX|BgEg2tnj3|d%;XB2IdA_DibAh`Vr(8SK=KU z7DLfZw@H!ly2ghBbBkJOr?+T5kp#S&Q9*{xZyZo8RBn@^w{i5FRmUuJv|ypvHZx11;qrcq#C^5Y;$DDkX7@jn5c?h{PhG7C860d?2Qs8kyBi>hS|2V^LhgauN z{M@O(#Yl16Ww(Zp4rQj4Gb&w|2-CvF6GL_*fRoHgsRB~TRmeq>q(P3alSoZFR@}@M_D_e z-=XdHcVQ{}`SW2G?Ddmoy#v5llXM^FuW-YaYvN0ZsDg=C=ewHdt?{gAD$P`wBNl}4l_-dlao`6@sD6}PS*hOPnn;@e_H}_y(t3o$oUwhrSDuj85A3iTlN(!B>l#j*wN9%O}_DPl# z(t{)co9)C*0Lpk>`eY3K^S1(+^X+F3A?4KkCBb*g@4byjxx*aB0Vp}B>a)yIB8rhL z2`f|h^sHpI6R&$;FVMMoMDbaAVEl5K-VT~13(P-%Hv*)^auFSMa3W0BT5!qV92i|V5U(Ua8+p&{~G(^AW*I!!sW(RMjl@2!k(CgbmBMmejdeyA1=lb3 zOS9Ml&2zHbtAb)(y_D2rCrksmQ~VbIrA+$qel!$nTZA>?HUi(29p8V7YsoQdKKBC-gJqJPG4+YNobf>9l!1V zY(+EorO`@c^PLK2{IlF2KnA8pMGUVlpvcUr&>i8m{^A%$c}<8jr1v&t?WN508{*MoUs*&U?E3Q9*j zQf!HNw)>!lp=yqp8ez7c(${Ld|0o5XOVW*J3B;Dz>w4O4+RXBwGBJb}2ezx;3QiPS zEQiFI>zsrWc#b|3aNA6H<3mv<9B*uA=C-FUyjsQy*Y`3l^LK#$kt5N3ns21CNiQPW zhh%gF(6<8K!5x9`M(`&}_bMHV^;$jm0<9Ki*=1zvO`42%ezviuMqP>%AP3p7VPBjn zB3tw;woN(AWfyKG{i@OVWq<0!_QM(1_?fv2Ii>rAx@%894pR^*e3o)6j(U`S^lHyS z9r=>78PuSk5gOrglAU4HSj@7TgZ(pVs2bRG#};#~!njhHNq?l$jIC*Fd?Z9W^V+L% zpiDJ?W>{mz^KlXS>eUXCMw~RU6z@{GuHISk#&lNNy3vyyJ)ZwQZ#*pR!2?Kv7etiw zH!*8t<&E_# z;$ALDJ-MiUKP-aj%|s7ib>&6AdG?GD*>Gy(|1R2MjB$;MllV5WsL0rlQ)u@Iy1b!= zM&8H6d!-BV@OD-8l^+_Ww_x7bn{Oq0EGBLk_y|t}XVdv3)Rf*)GU0e@V!m@!+AcFi zx5khikzD4KeE3OWmCl}a>8z1QqMBz&XsEWZC2Jr+TXsu z`teKp#Sh~=cz5~hci@$BS;brdVFE>3PouJ!d>&-Tx<*bea#tGZXq{YxF9M;}-#T0b z3`)J+at21W8Wft9RHE&NIk@OlnZ3c#8hW;*?@L7jtkAcNGkF^h1jx~6N*&mCm-G-C z_F?EySkrj4LOo~yJz*}=dEDnk(qQjOj%Rm;yLYk*|5sca#1!Zv^cJ9|nD8PC!?qt` zo?Cx*PBI;$D*}}Ua9&$MjVdFf)_K&na*{K0GOl$KUn}$>ddoFUwTFIB7;nIwRLjsf zfRANV?sV<&os6=(8ps#*P9rw|QN2S2eDXkntBo+=I>=<0doQf94s*XuVd6*=xFhH! zS!}FGL2L0ru}7rOjCa+zShU3OSje4vZYwK=PY8pzjF)d6svr}FA=8T~PL2sf=E9|vM_-p}J@rD4Sf#DT8qE;Cp)W)bnB#u7|Nb6- z#*XS4bekFhjFifsS6`R<_^_KZyfP-(Ao2V)RhMVn4^IC6om61-E-!F0@H zbinyroL)tI(L_E`bXyjf(bXy2iOJP%ZqQ{lul^r{d!L=v_E=q1dEb>+yVBB(BFjR^ zw~qfKsd&NC2is1IcXH7%=KpSB3-w*&BLtvkd?zEAaD_ zpo&$VkC(-)u1{R@?1$drGL^Y1AtzY*sg3?nOdJC6dr@FsfZ-TMm3(>dilUItI#n8nLZkS1@X2);-7yrrI z;Q4ZE@YrX3cYBlB4v@mYgxaW!DVn z4;m=!fz?$-xG$Ua7Vr99UjdZ?D25O`ZZhOqjH8#m>GG0BqEG6ELicZGPkyT>uUuQ? zjUG*jZ{S@~M|C3z$X+JdZjw8953~pwG|7mf^F8 zm^pZU6W~XvsOFPHNJB9j$h%bORbTr0kCN5X&k%2mz@Z?<14vlYm8RctWe2X6ICzlN zvzAvOA5r*spOjh2p~ZdCdM8Z83^Tgmx4v)BQ5@{K=YrHmb74Iq>q+B5><8Hz1-cOx zb|@5>6Fi@q{+J|PB2zgpU%2fvt&Q3?THf;&%%YJgFUPR8er>47$O&Fp9SfgX+ z@t`kYTC!IbNpvyja3Z{ciMO@;Fg!2%s46J;Wg!s2@ z-hcIr8|RlNE!@~ggOzYViR3~e@OfB(*LMDJNC*y^pEgtU1t|VP9UFe7vZiYZjvDvd z*Dm3NB3OCh|L9Cs<-JH;2b1`Na!Q%DmdJKNY7R@-#V9ZoIQsdKMT(YeT#Hd{zzZ%hUWC*4_GZ zB~l6}YGRgs41W00Sx3`bsv-XLNMT2t>AwIZiEIFn|1vwK28v6hFm;LMqqy$MvM*IH zUHE>7k5V_JUTX`{&7m<=X1MGK^%`7mSV1;>$H81==6Qt5)yUX^{`Gyy>zm1q^J%It zM#=o|=eQC&wQkFWOa>)UdNK^o>0fnc>$>AMXyIUx;tIITF(OULHj%Juj^xqP+%ork zybwh^^9DdJUHiUE~PkmtE$bA4KJyLvcQbAt%7&k=6IOyFBd)egy@$<9Dx(%^}B}RB7pwT8qd6F zCxz}PjwFspalZ}jW((QV7pyDaMX%4h*Ex-ZS6Ze&a`Xv^h-6@xb*U9 zKLLuSYeejtUDp=x&PYBJwRxmygak{TM1PUUTTY4~xaJQenjz?BIlS(Gd}(R&Sf75#v7 zM?8UAu=r0@!m=63|B$X2Mtbw&rK0V4TfN5Pe`%7I^mB5G2A6YiMx0bP^vKV{$O^11D*D9vmM8zG)V-tR!LNhA5UF#AD0^23@siJ{Yoc# z`77r~mTb>eHg3K4q16<9hkt3L?2uvVI;ojJP8fzma0% zEYs3nTt*53pnje;4Z&}OW32WCSgrngx(H#G@b!a`EKw?uN?Y%>^0SWhaFgxlOm$Ts zW{z1DTnu-5S0js-e)?kmSx%vOIq3N7Ew)2m`n9$tlZ1PAI+=VpO?d>LT*R(u z2Dkm#`$QuTWb@(R*^+Oy@?jB%jWno6^1%0|nOOj$xs5U-6!&V~ORcHygD=yYX;C^5 zZn7b;pH`fF?Pdyq%k-3JVDs$v1nA{g1iEQXZ-4bIb_M@~`~aEaq0%QU8jDo;i5iYo z{8^rwTFIpPXV^_D6m++H)24l;^Ta-sOs4Sg5E3~I3MNy>Se>VRrpwIPP6qrII?aQ_ za})V>{p9&)k3|s^AcBtYvxS0L7^JxrXJVVkv^-g*<8S&QAKk7T6 z;V9W@b>hr6|M5#jU9Sy4F7s@#Rnl>qE!hYb0Y5?E_slOCOsTKN#SL1BYxwA->OjD| z(!0(dpFb$le>xp??E%AjRK+z6o&0My~&=Q=nc&?o-JrFy1m02N>W(xhpyz_G^sS9|un@@~wYEm7Mpk?nK9~0r zLUj$bg+mc2&o~Ox-670d$Y-CMbMIjytu}fwM=7B@s>{3)g2M`e^IA;Jbss0!>XZ^Q zr}CP^ddBW(cRwk%7gR9x`@Ue=`=$7i=p)&aU#&|?2(JCt*{m4e#5KAVr~U-X7Hj$M z6!n!bx<%5};RKyoSIYJzD72Y&J=UQ=;-S{ZHgx>NNqS2DCEvmQYVx_u%|9XpQ7M;{ ztUH$>y}64P&xk2U^CVxwt4BO_Ja#|r(db>O z2VH4L++Fs5V~(ppsddceuAFhtp4k8c{~X{|(N4|5Y?`ZI+p~|*a*gM62u>TXE(_k^ zEJ9N!W}b~!$xOThmbw6r*ZMbcUmL+NzBFuI7 zz-h2>aHkCnl5jPdMY|n$0dao= zM~Ap(u9~%xEM!Obr9mUFyx+-X!=%_rLZzQXb`cILV`JRn`&yTF&RDDWY6ylugv z(9HuQAJ2ZI&TLs9>u>sqh5zagpAxWggJOvtRe1Pr(};+$$CXDv4b_XYn68HTxSV^$ zwFg5(BIN>E+DP{Ld&wI6Veq3yl)m3;2>HRM{(@Ik?-cKCW#Tk(ZjqEUr1dT%wLkq@ zqSo&O^%4XllxqLdv9?uq!9rVI&G^xG%)s~$JW za(qb;WCpq+vzU3%&?H>U*z|fEewnpZURa9kK`$_P#=j3HYXMon2P!bHLQ6yo#W@3bx%^a(b%ghRjs{dSR@x*QP(>1L#4Sc#wI~ zWpqY;_0^)8+j_y^P};*gMnLU~0Hg*Wl2?0^9HAp2(Zj*J$oA+MG^Oo4FQvAXuK#kD z<|?n_hfi;kDb;PMn-ZN1$TA|qqjZ zQ*DkJ&ZM7fEPF{%;l^_>-U7Tv%w`K65giPkuLctgW}i_nFA_#x06TUdz7(~f8u>of z%mm7FLpjrw=e#Tfw>WQ9pTW(5&z(yV59rpl|1kF)t5bpySEe`8ZAXj93_n%f`RMvo z&6Vy<`>#Ig;xDuu$K1lqug2t|$u~9C9J+RR${-gfg~P>LdqGp83cqtRuRm~^2Q^lt zw^N#)C5{v)J(h$IMIMwHRdtsWFKZCh>t!uh%$%+)0)~Qm?UBU}Q^#M(MjTp69)51G zy`|1nm#(uD3K(B8->13i|4GYl_Dlj!R}GlwUN?q)CUG?wZcYHTj#IftrA`vHMufLl0{C=}o-a^t@A|DS1^3Eo2W0q)UKeuik9V`MV` z7@VUHAt4fivr1fg+Q|b8mzyB;cSq6v8o%y$%MiVwDJVhJ0tY?0>I2$-?P{UPoT9nYoGd+77~t+5@UO?nILSo>XTNPkG$y zfR1eD4Jzv>+qBj=&%o8%UK)+1`>pQ0A8I%NWZ%&WFnyAWAoHss+lUK)Dl8rnZ>Jp< z1G}(6^$n&gk31u$i(n6=noIC^8E%h9;KL>Odr$-e@GThM8NM++#Z@?aB7&#>#vfj0 zp>nfU*tgm@K@laM0qV05cK9u)`&3DidF4uEg~!--I-sP(#NM&W|9x8dEbV*T@kdw4 z$O+@U1ZVWb21 zWQ($bC4j$$hE@vu8lG9EZq`voyu||$OZYHi+j)zcz)%`_^J8&L0g`8u+J zDe;qw8)T4dzHrelS;bhx^++ER&+jX8TuPyBh111bG0Fv>Y?zV<`pu6jx8MGZj9kOS zWLo-&E;;O@ZTJqf&@~ih>3a!fqXPf^*7na__zAlruXbIJ>`6I7Uyvig zHnI)IzPA6;NU-=iP1jbP+C=w!WoV>Xo%(;?)Ydhh-|IGgh3_XhPS=A>D0Ee&^8nH{ z^!Ht)AEr)BGC6@(lwWXg3?X^`du0Uhn}2;&x`RRgtpmsb`Q4onPZ?RaN^kIk+^vFM z+mNb&+0b$?4ow#pnmrZqF!BMV=3g2sKg}agQV>hD0{evFDObmodDb{DmM_{J)TdjV z`tx?%-N7CgCc?q@y*!)0zSK`&rY{SCHy8|2c}X# ztd_%Pz0pPU0}tCjz;O1(525O+bqMpJy$18vKk!YuE&FxRa*_O#6Uj9ILvs&Fz7-52 z2{5&GH;69uhMPgd(yvv%7=4Mnw^>SrqGCxp90;-n*Vh*@- z3cf{fYm#Qp8w(hVZjFe-yyQDo}~SR&|ryZVWN!!l-)r`;621I!e3SOBV=xfXELe<5h#r_!PYsUVX|w6*+#NRwoSqM1g-cRGqtiTl*&{6 z#hL-5np-;nR2M~(O~FTRn|tTMPAZ`4mScE%?_Qn* za2$#Y{1!O{s7Hq{gg5H$znG|?@ZIipIAu9S#JOa~OO`DwFYe6Tv-~~LwK7Bd%|^D} zYUIek>d15m(*nwM!G+1qTr~uNxM3psv)M~Y$0w{(K#Te^a=w_oGx4SjRg6GsLesE1 zYzw#F`1&|OrO&GITZv!c8Z-n{z1oWVvLFSy-j+ElcHzg^%_#|A7Pt!XBD!ZE$|N~M zOIhX@Kv&-K0K&)}@cSOpF)ucIs~}r+Ij;OH+WKeV`r{7N7a`_N?YhdQ%CA;7)nBzZ zn5>@yezR|BDdVTx;CaEthwnC?lDpS4hjAH)qYf&bI(85zD6*X+X7lhz1X|9~y=y?} zn~o00$4N)qZ*k@CA3k(9Am^(wjOm}uieR9~{0gLVgCaFyu zD(IRzCwm|%PUoqpeIP+Ugj2;wY zWp{=p#{`%!`vN$Tm>nxm=QFHrx3i4@VHbA66(Wfk1Hy{e6c+q>mdE^`m#QZk)UvQb zi_DYjtGRtMmpQq^E=smtL+I_J+mTae3#je51vR)JUQvYdZj5)Y_yEE*-R8UyO4R|>a=L3f>(4l<_ ze9wZL#&sYBQglbCpl2Q!W8&2?Q!Vwxzzg3U>D-Qi4k`eVo0gR<#rS4WfVAA3xZZl^tsQmVa%Oej@sJ=mD3e6n_81Y8v2Kcp%UpLU zZp@BMt80Tguv5m=MlZa+)J5a5T5L}U&ARG8rNCe=l9`L|`$ z%!cejs3%+#SnwN^aA%Ao=#Qpu&F`(HI-*hANlJV2$9vA+c>Q-CG&tcW4w*eQO|c`P{tlh{&Y}QJ0x!!l;Qo&Q3E?ZZQ)I zZin+mcu_J76ZKMW5&R!wQ$7IJeU)+_>%W`rux;~lWV9%qy{6mEl^G4T;zuQZ?_zDu zqbex_)-mup}TWmG#Rt?g8#?X=^2VO8;{%+a;H zY-gii$86vd!7H7(8*q8TMoWqGwy*jS{`D*85=%ozp9gRI{C-JVT;RmqGT772S~}yM zCQB=JFN%%EdDsh->~#BW&2%CuCKSPbK#~M9<<8L|d4{F7 zAqg)5b7=^{U@)`{7I3=xdYH^3)ohOt8O1~Iew96~R~uwuY&>tbm(gOaw}%=d8MU4c ze{)UhUmrG|+#%ObccbE5L&8`crMN+Y_8#1cMrHfkNU68fE>u}=JDMcKv~734$-27K zNHY>?tafAy^BnqK)|pavKB8bjz}woXZ}QwEG7CDnKTj8ov;xAZI;KzLyE$z+BxGAv zuagsd1e@APy5WGPyqZZjZ)|(&N-YkMr+PsEZ)p>Juq}uS!$w*o+pjjmLp2(AGF)7n z%tAv>yI&2Zf4Ub0G`yOoR!ISfl3Onr-nVEWo&%3@6jfnZibq`_OOxK^&d!>yE8R`lG#lrM zBx9<=kq_lzf0!ClmJ+mbBfE0hXrd>eNp%4GN1n>~f)WUSai$4pBw*U1bn7Dyra*`F zqcn%W#m(?y30ICJ9iN0?wLN{0DAk>diaT6s?65Trw67=x%#(5*NK9e~vViXuJ;?yU zxdxEe?-y*=1?L3pOid|M1K(m=&YB_y#8&S_VijNbIo;HR(qq~0sf1m7m`8upl9u}q z>%lf86+(lY&$QqpvCR8wU!Ac{_N>jdlP}&*w~6KW{=}(M;!MpcmlE_)Za}aJOfc$y z!gO-o5lOJek)4}l!)rick_xTaCZ$ zOMcxi;K1ulh*9v`i&Ef8XCjFOVEpb>2<1{0m?Qc+~8a)Z;faZ7vUg&p*(Ld)s}J9;Kzo(r#9hk~hr3U>32parHNXa)G1oe!e+=f>CX zqK?pcvvA*<0f{o609H=MrT~n4zhp>IzBU6SA#?c+acz3*><{(hYDjeg&jna6-{R08 z@;OQ}cs_@lgA{Y2DP@taim+4J8eWVeiq;SIFfJh7JL;Cc9RO~q=@qq6r^9R+R>|_8 z_uslEpIG;~y;-~fyW#Se@>8C1iwZTWAigorcbh}SaU?2Xa@wo@+67;(v z89vSokRlS$<*Ah}iKi82oL+O6{~vLGu4 zlqnf4F%RGTXR7e2mgxVEz$|)56MWbgk8dp^|BJw0{!D>BoSiNj>gJ5;l86Kilqf!X z03Fq9B{yMq_D`1RPY|ZR;#SOT4=ORV8+Ub6V_i3^>Z$jT=>q&NG~}K~G<%Yp(GVYj zqGPF*s^*YhkZAA0Lev>1e4_EDPIi&D8IZm(0~*@aVUnAu)^CLupgGD0v;G^l%Vi^n zTR?krF7Im0^Bjx4(#z!@gEv(8fuIep_wv6C}%|FKBg1ktnUWE zFLREkvj;)$DOn=PrKv=?Idb7|$Ufx60RcPn!=R#f=9v2R{hme3O)P*Ocn15+5;erl|ZQ3I_^4YDw zHN8s9d2r`q`peJJl=UxME&O2=U`Yhn0IregOq4`t_gz-Z~ZF8VH138xk5Wt%KN zf6epP#f>LE@&)&PoxBJ6U~IeKO1*m)Z>(*kb+Jh?ywhjw{32dwJ%PJ8upGS(o zp706&mxlvXqXO9NK`b6={EKv*PJEi+%Vu5Gb)XRR>rjtzeC&dULb%Q+U72Mp|57Vv z=cY?R5Pd-*Yikhelp@`aqs;fe)?f;Zb7_k5ixcUUcUaMyGJQ4?h5brtk4478BAHqp z4u9n@mmAF|s|Efq;37W(6Z1W=&`)(QJL{Dhk^1fb58DXf8`)+Acs}NVW#%q={|x)5 zLrYt|a;%~^T)q(ITrBd_HYeDF;bvZQu;JB9ZT~2DwQ#vX(!o^|WR5^W$WcuC<{Of) zt86RohPkBrvdJ_h_eG6c+GJJN9$U2D)i5U5bT%Sl#DrEHx}b0y+aHZK-DzGiP8F)n zQ%5HaKDIYQ^`o)cBp&{4^|KqBUhJKbKkT{hjuiJ=z9DEW&OjsF_S?UwxzOGHias;n z98h=!4C@V23!z-cN%D>Hp=P*bnWmF{GuDIqaj<|6Koc8K+&qoB+HvfB=QJ?Fh=&NC zXZb{xG3J1X9ZL?xW`&&fwQR&RF<}so!D}^ zTz5Fh@&zr12`{C3EcNo>=}R^~|0JiB9(*G|Ul0)VH9O5h7;ga0^GFf7q#`&|-m6)< zDe0S^K`p@Trg;xWVde|x9*r-?xI2j|6UcJl1{dcXZNJ?wqyzEjV#GMify!_~i8~Ms zilK7!7pS2;&~W8E4Y?zeG3^C$i%o*t(M6IV;hz<%P zM_~7(xv@c~VJZoc-{w7p8rAA>@B+yny$kD29lha>lmC<_J^`zN=466O{}&OnMZl16 zBIh5IRL#@1K*qz%vOe7C^W2WfR$WgSm%4CQ0&e}j{`I1mff`wllnMO9B}$KfpF5G!UNzu~_EH{r{iKB8koY^9OhY*2I+QmY^DjKNFhnP~QKnHjKfcHhCwJxud)Gbr8w$oVlO=@6-z($CSaecG)}g+JS2sb~k{qe;Ils_nlt_;E}X5Jw@I!328@*(aLh zf!@vloQ6T|(PVb?zck$FbvHl$B>kG?EB0b%LH%ER>dMY0$s_z^=8>ZT8+te$k>~tA z5SLhi&}kNd1X?OXA047=LJn365O%=R(o)|NZ z$w=GYRr3NnQh@6)yU#SQ`xyc&HtI|AH7R`MbXwjI{(zdaX~mSHo6Tu~L^kkUf+EKY z#ubw!3*Yq*_p_6Af6($gdPKWy&VIa}+`dS_3| zGk9UMUR0kP*i@j%qbjJ23|w$PBk*XMfPiEA*gP7W&Nx;Cmn1&qFfQ7OJQe>nu@K?( z<<)EESONM%kxMRlH5~fUy%Z?*lEWDUE{fA?$ot9LsH zB#KmfBz_27Wkb1v<3P?+asSdp|Hcv2(9>f1gKantOU_kD75K~oll|WKHCrk5mS$+| z)Hm8GBS4z*@9>Yc0ZRc&DXVM)YM5>dq0GwFH(B z4$v+q!BtO50NpiqsZ(|q>-M12102dnG4J|O8QeJ~_byU+8~>z`)AGH_kGFt=#koK3 z=rEve1{8Eug#pf|a`rm)&X9*KoS!JDTy?uDapZ2oh|cFyWcf@1LvKatJ^k}}{C7io zA38=p;m#s zs9I=N_%*Q(^kr)?>K$c1R+}@EsBF9oJdsdJc_w&IoBRQhez)>pnx$lFyqe>2_WkcJ zX8UL_ieoA!RD)&TEb+2ofX?SB&Hgo{G?=i4nwF%7?nYt=NGP!Q*Z#l53K_04ji}UI z_;8&45^V>eBL1#>Jz(7fp9fw`CjkRZcLeaM5z!=f?d_z0X`UZ<;z(csaE(!^G74sN5em4>x;PD*}X zctPXLOYZBF6<3H==UrOO65pkBVW=DbbOXzbkq{2O7bThE00TG zzL__6H?-)Gcaif=tD!DtWhPP@=Zr+aBAYj)D z@3EQ~Q7Blh%|lp3nB9!oI@kK-nrvgs|UtwZs6)-Eyw@tDj$L7aY?t}+DIAxyLz zHpj3xE{|30u79(o7p0Kz)p!Hh?=*NS;Ib$7C+z7Ps;AmH^J2Afz z(rd`#@3n#&;_(eJ;y)J&-I*suKpB(+bf)eQTQD~Zm;XIV*{yQ;SgJEa-C()3jRT6t zqvr4Jcxs3f9mO&OVk&1&v@g8FPyH1JLHwnA)0B~6j18e}dR>EOHPx-BY(%HLI=O7`wTWp3HBz1$9pIfEqMWU>@#x z)275me6v#4VW)nT-+&c*wMpTgy7S?DW5R-GOhqmttz|P8Gcoc`7wOKjqHS~8Sm!f| z5?Oh-!bcOyR*hp7Ljx4{{N>lwU{~*lGl$=LjU}4#U9mCQQY>TQ9O5piosSBEhwM{4 zi1!+tgx^mk0TqT;!Q`7X=Zw8VMzg*?~0RT;*Jy%Gzyy4lQ6El$YL>P&R5 zhBeV{Q9!7U$*WyVmv)G@rNserFRJ6Bw=v4xqj!ADHt97mXvJ3Iz=W8vw(UPrJHNEq zyk=}CNq>eJ;K*O0Y*^*)&|EfuCD!}}=PQ%9lp;ZXtRq_u`L?(RD0P1?ut0!%zUw7^ zdqScJPk0{TNGwqCu;-X?Pl;L&)zqSwf|x@%Ujg`z6G1HRbEy~MqR}*#VeD0u_&wK| zzH9{mftykfU#8pDu2|>=aTm7d#HQ)X?BX3;w~jBM+W?Rm>=W<0F3{^EG9n(kJ)eh_jcK@;9E$So;QSf78 zV6mFO`;_<+POzMiz+Hu*FALzasXbtAs1~rO$MD)BL^Jt`*ZiqLuO}&Bf1@>72Lbk2 zTY0fn!Z;@vo)@LhM0KcdD5xkskY_xeD(!2#dX#vT%;d9^C`wSrLcf48)1r6aSs|BQ z0S+B3YWqlO3G?uNv|*qpKRcyJwb}pC_A+m8{kYRRpIpl=zc#!Zq$SZ+G20~qC49hc z7c2CkB9ppVLs$Sj#XO8$%_^E+DCnBKj6qs3jpZaD{?RHp3?s+F{;LQzF2T%6oOU$uB%lEj|>gJKl z2xHo%;qt@eKHuqWZr+b7d!oEoj)}NYv~wzb zUn~nax9`r{OU_wo#X(|KM};*9&HK)>62f1C5f7mJFoQ1_WFCkCM#8cZ!yO&+2veC= zV?9$&iM^UhmwY-&`VGd%Q!?C{^k9#bfY0Xdi?P8l5+4uMXyJJiABYZyM~JCu5SW6x zKNJq8G)P{I(`kNgg9ILg0h(QGyuJW+44<%i^loqwnF?)R3 z`Qn&=_I%SCECmoXw~_kub1h)oRxQEF@W3hBewdm8O+1-`i0~FTNf?vRo1f0*XgC+i z*#-*85!pzbrWw4!=^3;wK(IEo84-cE z;d7lZt)1P57VSGCM&VCYb4wC;5@Y2 z-}c<$Q00Z_V8NusxUB3Ow@1Z8&aZ|F{-J9lA{Zh|tPj}o41~=Y2lRcb+nEVyW z&M@p8*gk^2iQpxq=R|l#L~!K<+tghv{y1vBA?QBo=7T%u37O@c1?76z7k6;0aNmkn z9W_09c4H|bM)-D$@N38DLf3uqg(fu%737mpIe-;8?r$Nk-qVA9a1CN`Y%RZ}%&J@R zCe*E+#LHF=Cdbop39ZWqia#;Xc(lmIpBS2j0M^Arub_E7NYi@9IeR@l6F*gkRTej+ z_R>(N%llP?pA6CT$+&a;CsKu^7T{6hL?`%+3ji{S0Opj_fN83|1XVov#9)hB6_7*G z*cKaU8t6%Pv1wJK_Ef5EvaL5D_Tc`yiz~~>xqsz;^@yc7stxeEl;S{a2N{t_p+KIL zW`NEA(Ao>o5f->D@UbKlfttHB-F+Q?hkO;%dx9Fl}n3oFj$}2QIONu)_Ql#4X;cwbh8gNM#yk(m}u-Wj7oA znp%X2&zilMzM^H~)pU}w8q!yUV4TlzuPmr-d(`(hq}I+7C+0ovLW(T{3R;`iWx6%q zUbv%-Pbp-N@g2$M29~+MLLPg}kBzq+l*v^Fk~Y5XQ39U#dkhh}X-_YxkxLkGa2BgQ z=?RsDu(9WRWct!C1h!YI3Li^781WuQvxH-N!NGELXL2_je_V?uuSStaEjN8)c*!<2 zPTQmoz^(17Spyd!lYvl);yri)qKDI)YyiBGzj<$;>J+?P4q6yO_44)X1b&b?@PmLM z3vgNYmI1Go)xwE0F#Igk12PNnhbSV~;ZF>_=t-n2HxSV)lR#7hfg6-*x&~jLHWJ<8 z>;7(4BV}9ICx#F(^?w@uZ!0=)kV_#b3NZjQ3~bMTw&CYs#JA}qK0x_0;+^1BPO!_3 zRStg4hmGJpN-8xf%sRFh2@i+PX&kjtvEZGck6wnd*|%bun2>7?h;HI@KAzT&%6`V` zi?)KeB<0U;uqbR>v@M)D$@8o@sX2T&#wjS>7QhZ|;!|@h`JvG6ifmKiaHC1lt|R<* zuAS)oeG4ma#*dh!#;3}Z=|-u6E(xsZL!a~1+!P;iqIa?_OHb9(K!E62A?vgI3ww|E z(3ikTJtKHt5b3YJzOU7*>L9smMgBEu+5QwE!NfS-9U4Oj0RG<$AB-{)r2>((?qeHP z3kD^r2FhqVTj6>3;!;dXj)A#*qE}3=T-&O~^Fm{O@X*qH^_W=x$_Q%!Khf*buH~kl za-L%~JWg+4UX(Hx-cVLHag>3_ZO`OoHVte;wz`>(@UxU-8qHTjM_L{l)?Hrlt<+;c zE?-cdh3{4WRdc6WuE7=d9BQ{KbEt{2`N7$zxyW#gHHOH)8#hh9Y;1gW+LR3^sc3_X zu-C8fCm)}7n!;rcadDSU@*{k0v1~{XOu5=B=H!aU48>o}P!G@|NIg^=U1iHvE&yz6 z=VF@mQ8lYt@5%9e?cN{-Otd>;!yRwGNt5cGN;NtkCEnn=qT}Dd8qlB!!vXk=HCfum z#bi=xduwhW*6iWj=Bdy=3BM0#oG{%I6ACZXCnQX4GkiR$aTtp(M8nW8gjfC}c^$~g zsM8w<@Iu(W)s7`mb$(lyCD|%9C!5GylFli0JpS7((a3|ShHpj)XdWy*K-9;N8%Ld+jaaF0bJ1|2^{5&tkf8a6bmU<3+;w70ppb~@X~>1rSS1N` zS6R(LPheHOaQzQ5{DHPvVjZCD+Nko0K_5>w`@{elHqx5VU7ASZen(uK>!EQXJkh1Y zAu|a*aYT4561eE9)bQKT5{&t_5_~*i2?rEh=_{#5YQS6d1z$bt9DoXP2}8{6x#mWA z(~-ss5b|LeA4*LyZ}B;dCA-ax*D00*J?1u6$a|W`vXc-wbU%TLitVl79C;>|5u9)^ z%cYD#nk3_8#;hodo(On5fIny2)l+V6STl&MkoF+y7vZTT!^ylyTST6bJ2HqeWnOF* zR9U-4u$#GQhU5Bma6)8muv*p&ur9MpRY6vHLA$J`{XC{2yRpj2a>or|;)?Ra@<&1` z-9$#(mTJNnQC;rKhlu)Q9uF6?IJVLMHpG@6aiFjy7}1<$j9j&M zCOuu4xRQip@+v#I70Pk$r17^LZY8&5qe>bJV@thqJ==WRxE<>Yssyfcx@{M-ip?&P z%woCOELM3gE%m^=&4LxeWq4J&Yb(60aE^h6`TsAGx+asl%gsL}66Wki@ zOi${W_ht2MJ_XN`1jd6CI#nU!7M5c10cGU3EC7J}2$2oa7s6aA~` z7jfrR446$T8GH#XlG=i3g=Up~pZ#$L;bVK#{31uqCzQ)!NYZdfxB#b4*oBF(YNaDk zxjcf&$GziFn}PuzRraPj{g#UqdGeT=yX+?hhnp-j#LNr{8c!ejC;)z3cqEko@Xv13 zbI)6^MNNm81qF>h8i`DmSk}fNpJK2LpBS>)sO+fCVD~xLibl8%RYZd_aj;c>C3Ya1 zz!nTmPo_m3w+5Er24;MubeXT3H*`UqB8yqR4gk3X7DgU2r5!;MT_9Wq0F0Jz;VYFG z%2i*fFjXts$0~>(?Nodu&p&2LzoZnztyF#Z!3G-5PYhM<9ru7L3WsMy{^%P8nIK!T z^y-)U!5NEza|&6qKY5np)soOJB!c9csR=z0-hUH~?WlCzMtt1kBxIXrSR3DW zLXqP**JD-O9+H`&s>lj=KDp0hdg)b)JwG+nZxL;|wQ|pU+i)fGt|FR+QkB@{fCa^2 zI8k73#*Zx2e_kNp&&QYNR@eiIh&wfbCq+IyCv=37N-SH-*ah`y4(FE#tC8WAGEoV| zO}y#WXsbG&3E#SuTG9|E`Qu1NOOfMC1wCG~if$-Sayhp(ZN_!0!3I{=`cqb&d@oWr z9-FzUC-I0+z=-?aFO=>!1T4AdUcH2nPYL|1o+UQg}^Vo-@)on6&OUmKNWs>XF)+HjTV9(vtWnwt@JdCsvUyP=XG z?H*{Hn|XZQi%fh6yo0Fc<}0JsNqLL4 zlZ!8W5+{x-rfN`h9z8KWO1L!KWle&?M#z%e-#X3RT z-Gsxm8Cd5fJMQw%W`arZ;kwLvqo&&2wx5`Z8GAGqM4AdWmuZmh@$T&s69rX&EVHsY zUwlz>ASA-@`K5)0_>b{VV0056fhsh=AKkcN{eRtpH1JDeebsx=9iDRfyGY18(2di-M`r{Z zIBXt(PpQAjo(d9-TYFC)xCN>ltyM6Re;5ujnOeUYzf|GSspkRjm*xuSrKZ2ech=)P z!BzB{NNGGt;5W0cPyZYP`VtEgjFTKav~q~v1?Bg59yP0QDkRa{O`(ToztHE8f0^FX zhbOBIp3f`{9vvy%YX~}Zj!xU%^e^s=DueN^H7&aKz6lJJo26WZL(k=y^F0n7HHq!? z`0v>DH9FL!v2 zk`#B{>Oe-brV7U_{bYf&8$q{>=>v8y>XihK3GeAW3qE}zO+W@XAD-Ub+qrFoN-HbkYJPha`00=VvO!ow=r)6r1Y%e&WzTv}Dfu z83**+ii{;Nek2OWA(rVUQj2vxZGfIu{=ZjQp_1<%2w76{C%`BA{DegG_~=yIB_ z#@@BgF+h!@E3}PpVq2Y7k5O5qlViv{0ibQv<+Raf*IpDRoS<}qrc(MJVeq@WmfPcO zy*eI)sEZ|$=MzI++c<3_hS&_wmU}+vNLmG{+A_;DuyH^0TLNj60lkl1vNgUcXBB`eOk4B z2@Sx-{SSB<3e^OBEAf3}ab#~X@Q6$@=ww$S1?-0VZ?~n|jy?ohYQn=QlzwPXq;)q2 zBr5LMbuyO}^Sx~YJBR|upZX+NwIcf~s3r~Y@p?cJZ-#TwYH}x<1DP;=g|nd`96gg`!MLAHysRLBy?!sT?_<<4#!Q9F2&Qukt`h5UveS!UfA^+uOCLx>a@bMwGB}XYRTkD*D zsSmK(lKw-$s=z~9>kd00a^&akQcb}efP| z)Xudbj&K={&7y#Z!u3(aZ6KLy06ARaCtN}{1gsYQh?(l}T7a3LbzX`bM3GjD>5Th3 zFLlAEmI07eGN+THJug3<+o-)5^h>-PzOdv8zHC&ZNSoe;#-|p*T*e@0aQQSu&D?bw z+5)uzHezm7w6*nW&MmR6g}&(+kV$jmVHyGr$8$~4`s<)^9AX*vZA-;(ZtXz}!165p zz;j{xHMG8%Xz`io!7DWlo^GY_-53tY!MxEXbdA|#K0E>wxXWwwCyQbes3#gr0fGR_ z52nqewt(3~(AlpKuwRKaPtT_1XNYqxRHFtj?KOq5u46F&P{-&~6W25o>f8DHKdqV8 zdHx5gXC2n{oe|0{s8Y&~43sj%cyPmuP($wnj?H0A2rp#oBTm%VR{y=}@z$ zSK^C?RF_qdb+EnGzJP292bwFQ9k3oytjb)kW~4@jm+SDd#_4T6-VgP`(sM_Ov?Y+c zF}mELD7LVf`a-Dg9TnF|HL34!{rAbM<+^6rD-Au<4}@Vny0YU zqVVw;8K2`wh$Fj*dkH@r`Nm{0M_yp$9D?wGDqw|uO&=b?I-bOk<-BX+*?e2#epITW{_e6WPpTOi)jnf$Oi66ge^4TBRjMKno zEYNMn3{4WMu<`%~05A$KSgZZnYM4W*gGss9GmU)^T7P)d!(2KK(D#k$#r$< z{de2ww-qxYX3kP^@V4H@bii-`%n6HBY0Y$j6A=(|7(6?;<}>JAq4N^jP_zS}tkDs~ zx!tT|NE;Bn0WkB@8ZOBHhqz!0BoF@#8vjBwCw?{?@P7rfz`8v^I@ccL)i*=-yKC{Swbz3G13rfbJq&oLC76-oIbJBWNvb65vwN~MLORP zK0ZGUI2Je%_RvN%8vFmZsK>VK*F(du9%{L91nsZb zl#43`fKx?0`;ab5y0n zWEWeVb^MvFKnKP$>%bT=-u?P7{!P2{(6-z)>xo+OrZbQPoq?vvM(x4r(jMFlp(`?Xx^dE_Wtw9a=HcFK>-Vkk&=h&k$_qhQB_v1p@dkd%rxf?mM+6>& z1PGf%XW+|m)N6I7lw!IAb+vx=V|>F`NR;pj(Sm_ITj%DANEqB3^?0sx)ZIoS``7*G(ZRNuL?bN#?g?j(E)(B^aC#T z8j=74V%NwBu5AGBYzb_7ml0^2f8{mER%L6EKwTE57<6ulRd;{xDDYWhm;tS#8`m7R zYz2U!>C^=tcbb7Ch4Q;^xQ5M3+n4D6@)M}S!UMLZ_&Gs(_v;ii|ACVKd*c$1^ z>c?Yyx;Bwu2G)EWplp%|n+(_N!58P_Gnn}+Hz)O8nv0MLdYs-;nhoLhDeOz$jM^w+@a@fL(E0BUYwdG|xo0xsaCYkGOGJ^RAS^&R3 zyO@>E%^2dgMaU7z&hqcFvo_}`23d;{D$Xu372!yRnju_Mf;7PnJKdB zeGp8W($z%@Nd#F@q*d%^=3MNi$!6c=#kXE1c9vo_vzC^kLHe|*`Fn}Wl zn(tLt#esapY%hI5?)O=hUYF?^6?J>N6~{cO-mdZPSH{U#ALDZQMaz8K z`zAzmHJbYEv$W=4dGO`BXf(A~dIpng*|eeiX!#kmID3d@-(A@$J>_kh4$<27e63R( z-o+M2=gof5j(u9tQvMF)A%wEt?ML2z#BXZ6loAx?b`qV%W5h_ru-wcSaVUy6*IQ9& zw}=~ZHSOy`H&8z@XuOMYf8+d7;+Ui1Y}}o&cC|A{XAQGWR;u<0TyG@zhex`4OJRHG zB@j~E5yslvMOqW@{j#g(V&WbgNR2q&xEmz+YQvxNUq8yMtbeBp^;0H5YNm5*lv}Q% zKg1ClQ`tTmk;;pMMC=j69}92YvTlA?dm!9CQBlQd=xAtCIxknShOpstx8eNupxTec zr;&ZVJ|+HU={BMd_w}ZSqxZhrb?c)VPi#vzuL?(p)C2x}?Frtq4woMBw4CN?c~BOs zrI}ulUeD`z%2stDj?}vFXfds?hL;xJeysl}!qL&Nrv0|#zMR(!)ds#yUY*7_Y$INc zo6FTsm^Z6YnDMbCwyGU!CqYh%;hUF%;owgw!@>mXh9qOlJrBIVQfBSWZmFfRU{(2u z<&2>IPQ%Jf@eQ6zOXWe8N!4{Od$Tl^3F2WpR7jWH5@Lf0&sR=-1WBqC`6t|%4}t@J zMYp<(A6sXi{q;-(zrC@=>!tJ8(MC6*RNl>VhPoB+Q?n!!f2uP?2fD$I44_Z7g&hnQ zjehzxx;4t4bM|6IbyQ~CUK@I%tLGG$lRxC6zJ6v3?moON?frXa+4Sc!7mc2DH;@}m z4XYB*%ynCoj&xJnu&ox>PKyuFknYsmK`bsEGi+V(&Iz zxn?^tJvU1IahocivE%s)vq+`*!rwqaE{?%OsdpBzl{WgqZBDr$28r|Hp>0WGHD31X zr@(wo=6?Bn$qumXT2G9D;)opt+`JozyJ) zVc6-X=lWdPPE2~X{_!?8n<($_+&e{4US!ns@qX~B?+#b8KWp%?w(#Mu zr9bPiWE~lO=3bZq-ro^xbY? zb2msZIds2HZ?A7mSGB&kOE@2zC+@__ZN9|+Ys71sx`vnGARyhiLnVjOrUW-*U+%-KcsW9cRIE}eWq>L zo{Z5rHI65}#(2yb=ayAXQ*C?e2*;yFL;E!1yjX#eYLfna zEY8(ccTAsVpHD62HXueh{SCu ziB>=jor6LG;bL)O`$;E12=QQ5EQ!BjPtHsl>LMjFSp^di=eI# z_N_dlBC8z8@5hVP5H5zzH=o?rYyD$pNZBXP*z^&{k)yY>UIzSUC%G!P{dzPjH>*+* z<8KbkFJHBWb4{Og0RpECX!6zYop(CD_$uF!L6G7`Ue(c_5>M<`11Uzy?np$n_mOd`cG9jP$d6Qz5kQnk|W;6)PL&wFStls ASpWb4 literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Dino.png b/Backend/public/Logo/Dino.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd847a9293654c5aa8ad71213f7169bb054c9c9 GIT binary patch literal 7457 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 S;s5*&G1Qc_L3Ik25&s3kK_deI literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/HadFood.png b/Backend/public/Logo/HadFood.png new file mode 100644 index 0000000000000000000000000000000000000000..6db7b3d852aaef44817dcd6bc21ae3b68ea830f3 GIT binary patch literal 4869 zcmXw5byU;u|9y`UB8-7D93ttcjgivQqKp&}VWh-J0R=&kMp`6BcS(nYq?B}w5~UGQ zK&4@He(`sHpZhxJb)iW#p1+=p$%`KVt?GTueE*kbps#0R97r1OStgkyBi`R8?sK5)u-C6if~x zzjBr8a^(M1I7JGA8+_HJ*Uf(^|L|YXKQk~HDfy*_q61w90i>j)6#uCpI+DvZ*cGk`nP&@Y`)^;T z=Xf47x^*!PP=har>A-Y=9B?=i$#JEfEI_J%+@R_mEIE(5J6758>U6%a`pV9t?adP5 zMUQw>!!o4QojX%{v59ILDqB)DGk5aR3wZfbAdR&7y>+fkt!YM%$=`cn--%@TX0C)< zMluFMl<1_j9hqSuqDIHKh@(@)rMpae0Becn^9l^Vqh0;ooxu+|x$zRUFe}!xqkFjW zf|V{hknPNuF**L3|I}yz!8@$vHhr*6%X4jMdkVQZ^HdKxMvi_DA-FPK;Gbo;M2`N) zc7=-JVHRQZP6j#PEa9&BkdO@RJoN_ZP8KsG`8gxCm}O<#m7U0dyAF;Qz>D4}h5KR3|n5_@KlCVD#oE(9*JUu z`=O4b@uu@1+lp11fB3g)qxC{7J7=g?6SI=>_86Fb(gMyNS3H8MP<7+0%qfZoYsawHJ|rdkK4#GVbFZ`4KA2WCTG)^xSIf5=kPN*h?y8Cm-?z!?q`*JbY3ODP#DQZ z813u2NZ z^YY64ld$BmCi21~wKYddJ-0rO`2~)c@0PWF-oaL{Ff`eCO$;X-l)zVxH7;x>txjn+_kkgEhXj#&V|?mdT$l8XAjwZ_%E9x1zW?k#c5}UX&%%qRSaO z!yP1a0dNU0R3m=`9cw8Y6mEPN|GUrCc4gid^IK*emGzdrJ2D{0xN+nPhzO z{NT=36IGR?Dvy$5xetux&9|guo;|J?uR?;V3hluuDW#b|lWVYF+k0jGpMopb7u#6h zA7@sTQ)-GyR;SbreA0;N?;ln?&*L`BCCcgeD0-ZZMMYBGTPw-ri83?Os(!t9xSX~L zJ=DJ*T$MIaw9~L{c5~V3VWMm1pq`N+15F!)oE#f>)iysGF%#eUY^Arnaqz`kowpjQ zpE2lp&t;0<%z`vx#+VCADG*yl=D%(q3*Qlm8JH9#EpeqE1@@QMmxPv{sl`y%Hl};{ z%C4HvKzPqcvi^7(A!6tIU6<0VJr9k=)`+S58G}nDd+Le{3#QQIJ{_00rjeD^@G|#D z^Hze)Jik!-i$fnz+8W zdMK12`+>mLe$$hnWdnSGIk=RT?3lmA8RI_AM~#Z*7V+mM72Y;AV)5md1O1p4Kz8NT zryn{kqHRzhGWDKb*RoE5c}1UA>g{3pFk^j2#o_OQ2N~oNsWX0yo^$oE?Aqh)-Z)MKXH(9)fmMDO**LH~$%ikYVRHDBwGgMeeza>GGU2xM6I?GG)_ z(#2=9{X2h4F91rT;%ZhDy>0Du&9cBGv&*KBAA$D){c&DbR)2CxM z$kjoL9Jayj5OJt8ZOd3cUO@X<*5eNO` zwr+?w^GUYvpfl`F*TPJ472Oh=7{FLYwN~8_?TJYfKEf6;#fY1wbFfEidt8UnvF8Gq zD{A3n@$T+%mV_-cz7&~k(-3F&P)8F(G2##VP9X9R=fn`}=3hSw5Loj$8fpGd!$Rwj)^@K4$9k1I|M=L{VefaLk6)xghEx|r^2 zUd#TdWV?n7AV!hK(`?Uc79!CAr zq-$ufN`8U5kMB1zsp^=shea2_tXB1_P^$aFM5&csJ_n!s_Th1E zG}7;gk-u7cZkc>$;>qVb8RYEu(xQ9YZp(F|I}VF;hXyJ;lw2T@zP;U%h;$!!<5B`!2JncIkX4s zTtmRAuFA?I$;zhb%437Mx{pT_yJu#ab0I-PM_fkS{M^cfgQx=M)x#qx`?(qJ%wIe+ zKmYhAEk09=(onD%*BjT)lEy2y`99JLx&THATTzxzmdaEj_NT1TeTE$G5;*;Cl6bd< zF1pDHOc`AO^gouPdpm_^aQeobbW2;|pN4~JWYV-tBpcotm2k$3;nt0EAut>|=gO|g z%o2R*7ERK?Q1d5G3CF|bjOhsXo*y@s*HdqYE#{+UJDcAy)S8bi%k0i^Q7pru3U{dt z$cM8wW%CxSZs~R$-IZ#6D?r}irsuv~;RY$nK3$*849(CG$Z#>@78hC2?%ez{d;LCMC@ddQjG#C8JJ zcKMBV*XQ(8-kd_hD2>GXb@;k9*~duM9U~vz*mdXdyrVhfq}0OKBtl2;T-CVGVDUN9 zLWR}pmhHFX4R4vz=nSbaCB#5F-$6hHu*{1qaNLCbJrV2%p}h;qNmG(~i!!BiTt$y-a1SLV zBRfc%W{!r*5rQ&#KIrySyoB_(6ger!r*X#an-gMw^!3M-%klLV85U_ux6KaKCnrPa z@4Kxq`+$A1gLc~SEN?;&Tam*rRTZE7vS^$N3wcZ6EpL1I)kSmN#cRN0ZJ$Zx4-3{79ERMA z4PLj}+Zr)S8ta?88O}UKQ#`P)xWYF*-_eRb>i1&)NwsFKH$l4ew@lN{C7I@tPcn4! z7}Wgqcs~Q&#qw2C&$@W~hzc1}H4a%S^GjiSb2uz<*V3ifB`OSi>#yE*``I=>InW80 zP1jW6)`b4(UA3M=XDT05c+H&6l4`OOygMhU_GU)yh=u5}Ld{u#mkIO~*U;eXT2sqn zV}W6_eVTscgE*hkTuz(Q1b6QUI;p1_Nj)y_-XlbY7(Fl>*Ug^!1GNC9e;4VNFm+|x z=%|3T+~H+z*r*UA%e;<6j+0y1#8}gVF+PCOY>@ut8pQ4F1k(^hXim5_dya$MS zmqjb4*Hcqer?IwI>3mcCJdTD~NY+-IYs*%3u$qqW)O1xLzpq|TT{si5t7)zKlMH2Yqu_vuCurKrkN4p$pGC+?^x-?KDc&o z{>wwh+3x)fdJmpDeeyQ(Lk+4JiM^R3djpFE&Y2Ile~TE!%%AC^Or{_1_o+FyY?&uX zE{5}ITUgab=9LN0|E5)?;vn7=_XB_U2wqN{wJMpbqSuMOx9Y&+1rgz?|;@ zU38t42x0k+McHL0ChfsYtdiz)npjRQ5=(pD>*~cQIDa5w9V|{KOpztK3s$Rk0Ju7Swfx-%c zK|%`ngzC^P+SZ`IC&v;OZrX@1?p@52t5261~Cgp(8}8)0ze_p zFu;b!XHqIq>~nFN#jKNPcxo{H37#)nl&H{v6$W!m&$Suy*irhGT7(+%1S*ko@y4l8 z3#$5qg24cWG@3mC!^X&l2jMYnDo^mFmxMv!L3BBNpzN@EtL*2&7z8;65yblzfe(Em ii~%myZ1rpZIQnv!x>z*FpMR9N+ZTv+1KnwmSbWnTNL6%WM4ye3CU8^#87s{*dt>n zCq|Mb%D#5WR`UJMcdn~HzUzA4=e?ijz3=2bA`z=>0zyJ)zyW9i0EpkG06?OUKn6G%3<`)f5ELjsb0N`a zBm*t}g#|hT!(uS#ApzkjFci?f5x@c$2?_mUwaA48Br6~&lMMz47g(SuG;)Ch!Nf|h zus~NqP(TQ{EwjJ?&YHCRGKhaoSPGymfnk5K{^RypO=neBaSbiGf|LEs0-Zv?SjD#pUwR=@1y zW9^c1+3H^P=>uiWCEmS)O>0BqcjgbW2~jI-fBREc0#xibI6mQbjQ3yMIP>>$mWGXV z{uXz;Q)jw-NNciy)v%)Gh}ueW^0z96po&n~H7#lD6g+pkBf+u$Fqe^|p&Lw2>y=($ zevJ`j%)z_5s&B*<|Z$fv*qC^BP_Px@= z{<@!TjCXC`{X;5z&&~VnNHp$%_G|N_QUrKwM0-#)-nx=x?_NUCb7;4tE+j{3Q_shy zB>g&kR6|Wl8h~y#esm6HJa;bs5W#T2!&FY@>NU(Fsi%rwR%RCE89q0rPTvk~Q|+Zi zFc|>}5_p2gp#g7k>`tx9VTHzPnpa7s(=Aaewau`G5Ji#!>iZ?u#k6|en`O?GC@;w~ zFaKVWmUz4OeYH05C^SLE=EcJ@9`Fh2sF0ujxm*jw`;^&Y*i?|wO2jok2!-4ZWpIYe z99gz2$$W1<*xfMPuh7|<(s^HBOLroav0lylRP5npRPhjox-?(5U+oD0Rc{clkZpV# z#ddEir=*`4ZJ7lkD$j{Jy-~2z>TVayvu17$$hh<>H(jE?p35!#FbTVV_&_Mz3;sN;+1XnV$u> zrjA+mdSDt;%8fsnvdiY{=WLw=Kg%%c)YVbfV%IH5P(=8^hm241cx0?!r`xin5)XHN zxxxycOh;FDrFe~t@Z@IX>0WY6uFxmNPF=EYl?$ehGs>5qte33U_GiQ|z|G~d?d;5P z8I4Wb&T#p7M-G1X2(5@^I2+a1j^aXqNR2<#imxM{w{A*R>f{caz1lfwwv|wpZJYwT=%Q6E70?zG@kRm+7kSS+qS}w;1=NwQ`ZM&&xgR zayczk(;M=bJg!7TiE-*FZT$!;qR)!v=UPA>eH?^~c$DtfM@T;6|1xPL$8f##)~$x# zw6WH;`)yNO6Nu}CvQl#au?H~Pw~%A`!W%zY&5Y|3PgqM? z*@{ZZ@amjTaei7ep6zLG6>I77+3*T4H5)O$bNa8!X<8hMgF}DIeTyGQF-ygqZ%a;d zADpF0tn{?*K*$?>J=dDT38pF^E(J=CyY&x+dn>CVUrE-^2P})H>iSKM(K0l=Vh*#i zO5ID}Smfl_L_Q{ySWgl83?*iF_~s%veK@J3Gq|9wJRWNgkG99Q(<17)XTj0Xk{9L$ z3i;2T>#`U0s;*id4b$G6<#F6i}IAxZD&rb0+Ub1=Oa!@MRYEu1RP0+B7zQ zhtVQTN|-aGC;#+^-1tv-{Ox)pgb~kcb8m1cY5Z)z#()NEBoS=y)Axvy@Sq@h&{t8l zzLdR19unoEBRA0Nh&dP>S_>+IZw75?^d%==eCps^w?b_cH1ng5-nGOzs&LQ~rr*MS zCc4hPPSzc7>o*)WPvO($O%kSp4DA!KS3QIc1dVd=l9e&z#`#pZGc zLEp|XCo{Zzl9R0A1h#MG@!J!uM6YqaZ&B*NXHq)tTfwRPEx|@Rs=0H6xgzBHjcy+5 zXtmBdY*)=5BN4-+A$yLKELCX{q_+H_!`xdm;X?RYhN078#2%tm|I5VK)y!zq`9TL! zvcZ8Cz9^$5ae-eMqBQzKFb2dvnR&O^ zu^j}b#9Xd12n0{N&Zr1)CEoZFY`rbAc`h4i#kh)r#x^sr>&?(^mC0iLsEZLl!&;8h zlKAck$7t9|5@s!TT5dJR(!Zb(_vnVDBW2=iwV{0*U%kl%ArW(+%)xJ3%0fxLL`~(t zR+N85omVO(zkYQu#papYi871?&DR~`(v1BJMCtmH_Yg|9h z#cMalXt_3RHU$2ph76mer+wt2?~Aq55C3oA1CxJWZ5vIBoKSIyiv+9m;;^pP#-{0Tp=;*AhtiZs)$;rtG2ne~k zxqEwi(9qD6lasQtve?+zrKP2uoSe$a%5QIPVq#)RNl92(SUWpAgoK2De}51V5RHwE zEiEk>85wG7YAGoxn3$MNO-)=}Ts}TNA0HnyG&CF>97;+`szZEJ001BWNkldTtP^ACQgB>%U`+2^7-*)w+7^~&>&aikt_v)5&$W`sF9OSRUA?@0W#6;{ z_BS_7vi(cgb%D9&4sx`DQD8Yka=3Y^Z6OIg&CsI1f?PLn9Vd`qQq37SH!t;dBZCjQ zrsw}SVx3{ByVN%S6#fdnMy8{!Ze2Seq=FBQriFh8y)IDpU3cqiwr3$<`<{K1!Gv%v zvozxW9rU`u%5sMTXGmRAAFxUdkKFLAJ|TVhu%p2t{c9LLhTL?9X1@1^Lz8_Skz0;+ zMiECnTG3D6e-FdQkOuyu*PB{H0$+!=)f#-4RE@Z$Cp1Ri7;NDOQ89ZGgXMYs+eF?H_?jqzIJWSm4bFeKmTbN0Vsgb2ddHKp$kCWOAm+o=GVb+xP=mvTp8Cl9p6+Q z+r}?OCEFN7s#--i?Cb7&fKZ79V3(7J&&-+a zNWa0n92vfbJ%G_4aIPgpuf5IL$51QNp%L@qErFLIAd+v;@W=HKGv3-Y2iebf2sZjS%I+G30tNTl4v%0)Y>Q(M5QFq)0YyX87%mev)Tl1ww3y9~^8T8F zk#%j9U#q}lx9V;bi{Dr_DC^t&-2`c;n|)UxqZ+ibu^u0^O? z;4tO&g~r6r{$H18nP8;wLYky^#zqr9wX7X#Zw|8BaKf+B{0ESc8~y3UIF~v*EXA*b zT4#DO6VD!PL;QaO$mED4+PdsVq1|vb{p#0br+6iNW)FQ_WT+4m)4cw5UQKj~f0EY5 z;SwUV@J!f1P>15VA&nl>hdNo^dG)`50$DO~Yr@=juL!CWq_i+lgYR})jxmf9h|GGZ z4p*9r0;6BDkuIKwPdU}#d{(NB@bXev@W!guQ79am04pl> z*hWh-2>7k`Wpq5IxsI=r?o_91yoMDPHN=*~4#7k~P3JY}t^A2+OOP z0^!Yon8oyJJCN81E5V;*g+{tUlg3dN!~k=#HgZtG&2aw29tL}e-i-oU zW|C4q%plhM2sHdr9vZHOl7Q?BM#o3*=Ce2x|KoU?b1VQvSUT704MLFB8D)ybrGGMb zpTLkAh()@V&w=J?!elc_0b>zrEIOB?MYLLdv|_{QVqWT`{6|s{M`$53;tnNiH~g|Q zsQ(P*kuyOS0Tw=kA8{9Op;LpN<|m@e1PYKvXHBuINFpg(+-&%HPX;L>v}naf3QNe9 zWKi-It1yXsW}}1p6+`B*9B@c^!90*wr*$xNCn4;JXA0G16o@zp5l4tzL|XZP760;8 z6X33yaM+K7X>aWpGPyxt$-k_b`W=-XENg-=X1EuPkOOe63kAK<8i>GONEtBrG8Mzy z@Cq`R3&JTd|GD5{&SOdxU=Yz7j<9MdnZT}rX-PjM&2Aq?kG76Khq??t5Km+}jDp78 zF?b-4UpwZ^=80-3m1A1?e#KaRVq`M^t0|qkktpRfnWO@CTp`g1G3+yS3gwJRSGSsN zVwwDbdtzPoJt6LBoD~OKsEmK+8e}S2Aup$yhV-R2o{#{G`4)?Ncuo^T?<7+A5{L=V zcE93;JVC*Z40uedh@oAzcU|!S03is9`UDc=@zgIs}D zb|iqRt*tR8ZCU5$y2Mi$T|4MFzkVV>R&!e*<%O~zG3EJ{0ikiB3~~~83V3*Kd{=U8^3Z4H`Z`uf5`_YNvwnAaxC$#`-_wAQ*3(D>t@T82WW1f4$@arTV+d zHR3RHKTpdlern>MS@V*0PW6^a0?ZtJ$S{CO>g0GFs9CF(GI#atYM!}ZI{Wf!1NDd4 zMpzKtxOQM8^r1)@=X%hvmeVZF!XzIK!xhe+-(Goj14ME9*0R37+1J};fE1{O9LVJ6 zdPy1wpI;;yD`xa6_{1_zVqCAEKufMe*Lfm{__?|kp#KsxMXmXS{a%4c3NB!xXc32R z;h&=A_4N=zUg<-NaM?O$N0^l@{WA3L<;AbD2%PzK=nqKe8u9u@^4{EL8=#rB2xlya z(4vNfcFggcpsz1 z^;{DJnyC2UE4ozvf@f7>B#OzqelE4ID5wCJmsWl7sPpXly*mJ5_fhlX&p1~re~8?^ zGSm4Ca8-I^y~PD!q1dH~_VYbW3qJ~?6l)d#`56rap5T@*-P{7&%Ra7nm4qH9d@qTx z9S_pFGNjY3-C7P;Q2nYHV64|%{J3-f@Cr~2?<@hUVgI@ipb!4yV|kwO)?z{d#v9R| zIrzh3@zNq+B;hyq4`5&7**W*kdA|6LV_6>$g6dg1c+cSFl_NFe&k12P8wY$Pg*FTW zf1IZKB7mlWGk%JSqYRL5!p~De*oyv%9>o`BGUOn`XAl~`;YU;`pK;H111OLDeHG9C z9M^R{1X^Wvmjut0-cI%atB#dR(3n~fpy`H}Pr}H@F2@tm>X$;pGmId47xm((F}H=kDHVB%UAlIgth zLQJ;5X$&CCj=PF@S~CoaeYv9L+j6)0>5X>t*||oknniHIRXag_v{(8xT9CQJ^9*yX7_CUC`HqDJ$hV8z?q^y1U^P06})k z@usafdt=rO2!hBj#?=%Wo!Jxh6DI3#*)xpLt(k?EpB3eF8kZ@>JPSgWYg&0W-pV!R zGr!x)e-0Q?UaegjV0eV*j~+FefrLCO#%a7=9K}rh*DQ@(G<4mPldqkN(dumy{=f); z&hFu{7R0@nZ!?E(5*6w6d%h(X&@EVs36pnPF^igIqlbNFpKKSmCzBh{xd_Bg=sRtU zZ-obsb3Is65@&85AT+x@VeQZlHU(kM4G{<0L_p`F<4U7^=EF`UDoZ{2daw7>5ticF}J! zCVn;jKAfq=o)^=yh$i0Ua)d6kXn61plJL$RXRrmnhAuDfUfRg=^nT8KQ7n64=eSTN z*1KdZD0C#@o&9)!6mt&lYf@u5w@S?*3H<%)`%D#M%hyGBNIlQ!h0qq>IZoq8d0=$A z0KC68M}TI!0oS&c9iSJm$9x<;(pxnTjDV5Wzp0WLiyYA{%-i5`_Ut0((aV+ZkkGFm z==X2b&|6r%$rpgMEF@|HkiuQWINIIkmu^B{kKhOU_Pl`X;fNA6hNOzqC^2s$?**$6 zz3Td&Z(Z@+64Si54mAPwz;wOHdr8~$U7`0*K&43HTz~r2J1r`|Nr~nL`)?c){Cs(j zxjCl~%c!@GP6I)rWu;E9=e5wlF!7nms|)b-JcD!5meVvXSF7o4j!laL<4GUdtY&6k z560mvQUYA$@m3=V@;vmaQvyR?F3+d{5mwppH2|9JCQ0rvndojXj^#r0Z5o20FjP{Z znl~$-NVpD+_@i6bbpjXyICut2h)CJIpbs@&NvQe~b(bB3-TXTqhm8mgEEnFKVE_e3spc4AHmqh*gjUZpjK^!6E6&tYrkz{umo zVX%4g2$i@thC*;-uQUWA5jnqFDQJb#=NPWqRHPy^N+N#7O)BMkB%ELnaMDNV$fq?8 zi7e)_dssKY<_fmH_BBg~k(Xe4jgw>@(vkZB%bU=+>a(?0L`*;BvdOgROhKLHUG{f2 z0m+%uASHaoM)TXV=dgMKT}M{;5r@JA+^TtH7pU>>H@j>ZalvJbIfs6s5yk*>MJQ6{ zbxJT59}}f3(6RPcl6FVUK?`wkLC@sNTd@d#Zewj5m^CK`rTkT}GOKg>)8lD203}`U z>dwx_Bx3Z1vL*FbR$+jdqE9O8lwinFU)4NqS^D1wYRYcan`ZS|O9O7@zobV(lW?-A z&KU!-tyd~n*GV4LztrR9N{Hagq`7~1|ByEBlaP0Xl&7n)NLEWR?5>V+LG6ydxDc?Z{&sR9Agb-^BqL2uviP{^E&KsEjobN!W+qX! zUH7&asbuP`9Cc;Z%ucxw(4+p^$-YXi*UKadaRS;gDCYGe?||m;^~C)4z);4ojn+c@ z_+=sR@W$Pnnwo9?%(;si;Uk@@2;KX$x7+}>io>sJR7LcB-4c#j5=Pb4`T{Hl&>E`N zS*969pIu|Hr;d)>Y8>S4k%HF<1qp?7S}PHo%LAuRUvWn%D|7XhItltYJX`6v@n%l# zl&==a_i}!5zD@n)Vm-Q0#2=sN(Ks!uOliJHoIe;7UN}dnWQS-OmTBt7W%mi{MpV;9 z>!L-CYRExuWN?D9a77eOQ?X6cJE-i5b8qNQiaPK67Hv1U_?2k|O*4pys)Sk-uUbr<}P6@z`T~7BP7CX$RePUg1Ljn83pul)! zWy{N(p#%L@SmYK&J2qc%XZ=Nh^5w3fe4YY|nl7SbL}_TA9&?u3DS8!6gMqk^FuInd zALjiF^vxut=qyyXe#kNp7(Gu!n)*p>^-K*!2Rep|eT{Q8ceN~o~ z-^}o$`Hoox>?^yOdd|7vF}r`Qky;XM$TnJg?Cyvd7e0+I(PZkLV2!ER%cyJFd2`BU zBmQGu@uxd%*l91CVHv=GPrIBG0nT~}`b8G)>Ig9!b)F-+NrfyPvwr zc77bGaW|*94+0Ai57SubT__2SK9Upc_iQCe7DYjr^+u1^;m)DBFRIR9nk)irh<=%7 z34I4sn<&Zuh|BkYD>|p20zertZ^WB&;4; z0fY94n`aFQ-aQVSjikX5Vbyi2h{twglvX#nj2I2%G8nW#>$I8BBHVKGD{qon5qMw9 zOg(^?0~jqv9mX;d{(yuaT6njSM`%eJW*UDAH?lT{*A^F9SmP>MD(laLAEG@rwBOcBcrAffbr{MFR7x$^l7?&~K8TdPu^TFvzC* z`0?Vr*_N@Mfq#tB&Vrg%$J6WwS__+Czp|eB-~$b>orHqh&Y!| zM)u#LfYuEdv)EbADkx{jVON8Ppp+ydprOt|TA`6!Ec)_9LRn(`k`_^I(KHzROmuaE zerBkALdJ1DSm*3_Mgz0kTNE_BWkGmx`z6kzAlgfZ9kjt(ER8)^N1Iwo~l?ESx8ubFi*4Udj$4rWNi-1N4+B{R-E6?Nk|&d_0ES^l-RZ86TVKE5&O zphV}ovGAbFH!%5Z9bf#RvBSX)tzRlsvSFyCw)LP9748>JO@`*Ux94ZITc%kX1vC6p z>XJa(tg>66%Q>~se;BS7EV$lZSmIkYrqFxni|KGQyV*EtM0t&XvMw@OgGqdq;iQW9 z%o60kjHK%QtRj=-wcnrDwRU)SvCgUT_ai=^3fjg#+&Mk3w=+B))zZ{-I6v458wc3( z9=pKhsLXRtguO0`ASxG()Zn~W%>T^BtO=e}br(=M8BM>tA7g|i`Se(yLdw{7Z!S78 zJ)H4iL28f`(+ef#E<}kzapUldG4J(mN-$x!2%%f-`pN`VIZ^JozszN!T*(u_gL^+8 z|JEF_(xT14j#!)9lrGqiNQdd2{bO`NqBn>@uzDkL}=igWJv6 zn9|PBdrfEI2Wa_sLY9(wP1`S?2p$m=DMmBo7lJc(n|RV<3BY45X3w z77wono^~yxC1oG=tkg(sgY+ZnI_FJp2JsA**iXAJO7iv{w!$#cLXEp8-1?4$Jjewj zcUV`NMVLj@HTHG3k;t?MgT8J>pf^=JT5<2XnbZne)Tv*}5ZA%q`Xc=>sif~J-`UA+ z^q-6Vjvd&oX}U$@lf@=}^r1N19Q}zq-X7P>??U!}ogS3W4`I^e;(2NsY0VX%{* z*uhI|7RzZxiy1NS{vZ-$?)mQJgSj|HHnco@aAa>9Fs;kO`75oC^ctcBgDPaZ$!oGO+vJUVPzot4s3|!PXB*@k35(rp(Q{!Q@OZK4XWu(<1Dm7efvMM(V> zX${i}pfe@-UgmGB568X+hEexUDqX(J76US-$qZu;vTbN7jj*?9LrY+ErfmHNBG$^A zM-m~Y9^beXZg)TDDa1fNXPZuNIv&!fOqc*`@|QPASYhAX5UMk`O_R|uHY~XzEV3*v z1WcvJk^&2g?g=LWjChKjnNjcH@zjz~XMIF9!1SjSgC)YXN{wgvGA@>5%wN*10#hHz z0B)ohQ@}jXEHO2HaxGY&zoG>&uku|}|4}Hw1_ro_WpAf5p^Rjoe#jeSOeE;n&UxKJ z1l7APhhPYNx#x^a#3#yHu%Sp0z@K7Dd&s|fu_Lg`r3`xL!kMluCOrp5&K+F)adf+c zazFR_Y9!!_voQJw$ZlvsNw-zB2(-FD|IG|~#0ktf1qD$&xh-c8()#BG9w|PPM9M0n z5PbS(E^pUEoh^f#79IZSt-PVuNMH&32F4GtsUwV3#qat z?-1G2Q{UDD@qr@+io$2Jm?>bE#5{r9TTIz#F|+6!)pnKc^4zf`3t(d5lH=y!aDf14{3tY0yEwnUW`g1>%g4RqFb zU~S1RG(686$o4yZ!V)tDmRL$NT5*jDxcxBzBj?^+In2Xo2w_mCaNC-)T;oy*Kr>&Q z(@jmsF4>3JHa*WabzbQ6b0dry_)8S<0e(BmL#9x_VEqCw%y~J+|D{hlum?tn{=$wDCciZrWz^>?~%BAZlY0gj}s6xt;=S59gFQ2~3?_<|0HD z!;O~IFZH5om(y&KT@)|_$F#)hw>fn(^YB0gV;j8ncCp=j z*N0F>u`^sEvo_{SaIlK7XcPc#rZAy}_2$Ze^U!mK=yDH*()yA8~Nkcge*J$ArAOo8c5vqn2yB7F9I^RZ$w3o9Q@+ zKo{2B;*XfM4VWc>6Pv`dxWLAkU9#KvV5&TupD8cPTd*M}JRj5?5M$TVt!_hVJA+~4 z{50)WXKD>{VqriEq`ithi&gDKT0nurb0xm7W~+8=e`6=W%<-JY+h~p3GfamxfPe8< zbuxddtYQ^~C&c}W^~6zC`m%#r&!67!;&+Cx$aKWZwtJ|jk7v6VsUK$GQf6pF&i<>n zfyB)M1v*bi8wmMLGRK_+&%CklK5V_dXXNGbr}uS)=J1nS!oQ#>Vz6FSrTFz!g?)p) zCwHn&fgT{m(z>2R)EP#ZWwP^jG({7B6E^JN8#|i(_|D<=)DRlXUpP1S z3O4@)))#P&BbP>KefUeeg+B0s4}9PQANarrKJbALeBc8g_`nA~@PQ9}-~%7{zz06? zfe(D(10VSJ;MW&8{C#-gWVin}_`QQB4=A8=0000pNklPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TDFVpYT+qf%RK)#n$bt&06slxU?Oic3|j z&_{}btdg>W6`?9bKtPBw`#PEZKkqj=;bxd56O2pSd7o!;@7yit-t(UCd%y2HcTDN+ zGeU?Xj+217ZW%`$Ek>L?ahx>blmz$qOm$nL!&E2Jd3+rI zo@iC_kO(IAHznx7#a)3Szf*np)$MJFpealmZ}i=9{2QRvEsrG#oYC2VcdrkkUvf1H zeYUziCxXX@0`9o=`8P$YlP9Qnu3Ps0A^qAz^I@2 zm@PNo$PTxdn1H~epm4XacZ zY1$=WpJodMVYc}Jmj$yv4B(M}SdpGAyW(hNun(MpS`_+|(LEs`mY>jl)DpA`dE6Ec zoF*R%s}kzAC@9O5U*f^NgUiv`>K2VdH$@bw^+{)XFutoB`-&9b%@*0#FC~COr6vRv znIbJ!9IXRJxkrNzOzB;LjZ;eS)+9UrIi(hZ+t$Jx3WW!LjA#||R8%;yRx1+6+3JHcWYV(xAZ;t)p$3z~w6n+{*2U`#iDV_4*Y74Hp(2fG-ijtEp$SbiS zIVl~Vl_X;JrCuQvareb0EZCleiXerJ7jv(2;knfg98g3`cAA>aPRG$a==LLBzX)O` zZ4(lalN-dvJt~nmy%5eM7areWhch{)?#S5CEP0ANX3V)Xga^*E$~vL5#@fV@t?7;+ z@(O^*E-1m`>jM%wt@=6upSuVP_9&Js>ojMa8M7`3!XBu?+k3*4Uy+@R=W;!$a<#$H z;#$}&0oWVQD>gtd7(~%Gh4SG#QCnNvV4Kh9Yq0;@!gzfn^fvA{n_I`Ae_K!v=z-6^ zEB2Vg`Xk`Qv2qux0|^Kq0Y7~$h>xmNzbHM_61mXqU8XrgcyU`0+w=Vx*~ugihr+n1 zB7g#)xsJ_s|IlT^^1Uu`QwL|%U_vLKxUHV;ESUD571R3`Va7Sdcw|kY96mVxYrMI& z2FvoSNc9w;pu#E-K9(CG87ix)ux$C?{0p#V-CDfx!V9whwBCI%^O1+^ z&-pgsz3b~g`skze1mbeeGtbC&?ysq-k?lVe*e8CU7u{3*xariO4E&kHO_(*zFUu*X z*JAije4HECp~1vwM^sI78i-7yz7eCo%N{fd7MWh&^B zRH!|vrw6Z%s}NRO5PpahW|LmGAooryQp}YY@Qe#1`{qG{8nAuB5j z>(;H4W80**MR}gDy!c8~b1oiyn zyjNd+6_Y1V#(;rm;lP0da5|kRuc&~pHr!@jkJloBNp$_4*JN9CJB;VFOHY&gHf}Sv zHxeWbBPLSe@}6D{>S)G*Qyl1OvbEw)@;j+`+e4DS?B4KNFFR_%9S z;b-Y`e%C~|^0RjQ`dv5f%S}Uah6!8pfrmDk(IISvu&=_TqPB7=RZKr4DDG|MP>YP3 zOS}7UVTKQVyR}6^l2tvTu-hcc%gd3UpD&$3;%wZ!3H|!@lTJxWNyeHrYw*mo&*JFO zqqyp-tHfe-$Y_tZ-g*mv`O9BqUAs0~C~Z}KHtq`Cc>QGQI3sFn)V(MiJ9bQ#ns7&s z9FZmWTPzmYKK0gH#VYcD@p{}wGSEu#+Wda@Sp((!kn;x1cW&o7Y+HJ}v}*D~6vd17+L681j^Qtw(RFST{`_$&j=G(&xzdF=P8F+gaJO|;;OAY7Wx(%! zFo>Ls{Vh!#0#5@>gY1*2Y1!9j1jG+_H-3tY!WWevG>f=q1%BapKi(W~k*su)vSLrE|e)^ za{d1M@5ep&+=EX){|uu>jgk)G$Yjm3)>*Sk8lhu0?TD(c~PVtV!+Sg>G$oU=D? zpKRkfPdxF2Y$HK8Z{7@#*L#8sc3MNy*-E*H#$jJ&I6TNmsuA~hSUT1z*e3s|ew7hp#nu>{w~vzJ2?|<bOC*5+(Ei%FzL)(-#b!*2lb?Q`HbImo_y?ZyZv$Ju-4L8*5o@m&* zc?)j8{r39Lh7B8JJ1tyBhxW40|D&(5fB$|s94B5+yFpr@7hil4w<=f1cI^8iPqrr} zCgRJ(hp=?%QmkLUUiKe6cuky`GZ%BPMCVZnAc`aW5yOs!XK%aqLWh9dz?T4KeF4=h-$tQSFx zBmbufv}w}@4p-Rxl0bidZ@HNM`|i6>wrM1|Ty<;5L2bg$A#T3;W*q+Nh*+JRoE+Ik zm(^H=)~Qn`S!&Ca+BQ{|nVFe*`>nw%)ue~Pg+}E>bPgx%@V1O(M zx=|A7qKhs|UCX3`CxYX+eEfK#TE;nIsv9rmU4JS<=GM%{{CIbiMSh1%x1skTQ5Kw6y zHkKXFbazH#6;|Auh*z$x!u$J7$a=wxu|3V$F)dsa&6=-9!GdbhHEGG=d=Xt^K(&k( zrZKgzJC$O&w75jpsddJU{i#@>TW^~x7APqp5qbN+kSK{H<9g@Lo#psyYXmp_*5KERU5v@aO^ye4mHE5HD&99!P(w>Vx3wJ(2 z4KsgCId)C+AScTk9^5VyE_>O9KWxv$-}a@-hhqBitzq{~OGNVREmD>(6j0Bs<8ct3m+FbvFvjXb{D9VYps|*R7r-*itCT3sGj?gRR(fnXch9%WO7;s zee65e)*!1F#FceWM(~!E4h-sO#rXcUcu9rk&u>(;MmWc!p&z&roH|fec|5m?F-IJcp8M3Cr}5QSU&(pQuS}UTrM|O? zTBSuw%S!R-o_~qPV6@W`0`XeRFf$U0v{;RS#5v`ZQ*h6WU!KqwMr0J)xw*O079yI} zAvl0JKj*KL6@i{qa>8YmQqN^)IPeqo+>e&mV0E5aDjmaqU@<$z>BfL`E3$gnaZ}$i zbavGWaSoOzik3}FVNUIPA`fqX`I`b|fu;=ch_?CNKTMJvO0j$32$@m%O_{g|3PO!Z zlO{DF4-<2zpLQCyZQ0r&Lix>aej_;#K0rNMsT&x+HitcX_DJ%Ou7Kpxnc}9vbLPyM zBUY%fPSeos;l0sv>HpP~wIFyN+f!CjTDK)SsEgQ^=X0KmdR^A89vEWA!x!XZYf&bK z&-bF8EBx$kKTiqgbA6(LjJX}w8?{R#X*8rFprU5xh#J$Jge4&{FO;7 z>LNQ#)&TBZX@WawMY7GL+!|G!YN`^E!-fvSnP;9U=P>fP?z-zlsG8LIBu?Ap6nv<{ zQcVgzxC_odAMd{VZha^6*qZ7Zj2bfVs8K&q|JshT_5^ z$xu%mKS9ppIjdK#Zt@(0_d%h4{SA|mR(HP?{G&&W7VAeh&HLlNv6o+tRJB~H1a#ze zYeFH6?B>U?&TgENP=zZ7Dl5I)hvJ}$a*qHxJAeuO9q6S37>n7CM2lNROFoINd?A~x z6C~1;+Z@=HA4Gy99Mm+1Rjd%14j_zfgy(MEx)tZ0 zr-r2h-62V=!3;4IeFO>4a~rcHEN{?49{%!By`|)Rb?ebx+-qaCC=IrS8Ez&y36h6V zmIlikw9XoR`t(6T;WrJg%e-4=iXYol#7k>JkQj4!x@5Wxyvmg&0gnyyV|Z6DQtcMy z+EfT%2je+|UrLfha8r7RXxgT>04$`P-Nl9X4$w_mk*2IoW1z0kV7N^10n$}5B-O-W z&W6OHm~BjV6st~(1dk;d^@j(;ETcU5#F%-L|XH#Kr~n!hPDr#qry;J|@(YhlYnR~VVqC79Epu-8`O;aQJ} zRw8IENV>@4YD+*1dit4X)O`zs?kqCt$>(hkIk4z6Cq})LD7hO7Uxwb9NflDF+Ie#c z4&Uol0gX=z&qGczi?uo}P(=1f^qbFn5hYt}6J zPRyS_UkIR&jRkr>5ZglX{qB+D*L&=-$HGxyBLgbg9>ng-L}ahGO2l;DyaY^rzYU(> zlP(Ft&s8+cSq@{)2+EX=?g@5S6Fv2UdArg&Fvr%`Rwd8LfaL*WRK7 z@F6pIbM3X)Hu#*cBDMEdu88V(G?-m(pPnI0BUol2+@6NSBN6FpS@kAJG?Gk%k(>sD z15Q+BP|?~lbl5Nv|IyrFfaM7#itoG7jDOr1cI7v}?7-qrJ-EJ~N6Hk-CzfEx zFTTOfDJ58OeJK`PULi$N4beM={+KiVKR9^^=0rHM2#$D;d=iLeyCtC8$jZvX9d~BS z1TaP|jCy!2&VgyllC534R>;5^iJT2c%h9)QUzz{IdQ+#&j`f{S7sTu|3$PljeA5c) z&$TLY(-XvqKh1j~X7Rjf%jWvFFtTFcz`Phqc=U)-DE=JH@>20ESOm)gR2K*?NPpPT+MN*$`(wSI zgoJQsvMtBH&X>S}1d?say1x4QYeHV5j?#0Sq@bygX0OHKt12+(Dl7JW<-oXC%p#yU z9hH$4Ka9!D}FTOVK`0;WF!zrHfPth)B@=coga2UEM)=>S|@${qE}y$ zB|)Ol_0VNd{}@FvE8x^>(LS_(8qAIpv5IHi7KZCN&(5ve3b8_$TyjZ+)PV#l35oLh zlb+>CQgFKP!QWP4a{qt|(QU9l)dBtHC!@!+DVVmjO}*9O6xDTy9P+|LtoYH8htUK5 zc_e|Jo0}t}yrl%v(5{LdR<1g}xv0wsPUkSfnc$Mh>CMG&)eC%*gHtUyTQJ&(){m}} zpw*y&Z>gT+|788kh)DfL!JJ{OM4s1#bDuY3+2>(W&@HiM#e7fb31x+{19)_J0GIYM z$q!0sOH`nmSXgZfzfl?^eh~8LiBp80j74yiMYBM&XU~?@e>4K=@ZJa>7x`g_aT5B~ zS52xXP$W4B5{$n>ei0uc}RBNGmF2*LNZesd}h%C0G5d|U1piJ`M<+L$o(3a^Lab` zX`>Gtj|T8%wH*U9AyY8;-W)*!tvq0pSD>0p3>wj@RrOfF&Sz&D#b#txonYs2WU=6A zgs%Hg%g~xcR_L1oBQOeSl9O(yAV2)@8UsngH!>znoG7j%vfWH(vLm&HX$-t)V?B@1 zbvS(=ykG4K8w2m1Z)7k@*wp{zud7*XZu#+vVO{+4)-DM`_rwWd`nv`z?L!tM%bUL~ zN%DTLPRK|=8@ho_%?1`f5(X_KUx{iyWzZLZE?7t9msh!$BrJA5&&I;28H`Y!!N8qp6yt;aG}gGZcdQ%x`WO+ zS1SI-`}i<-gG7eRus?YJ1C6$Y6W*D4BuM%_Jq+p~8ZY-46KHms^e6(vd1&(rU>e)Gw(?pG+j$sGu*PT}c|gK*{wi38J=h|>L&VAR zAC4kr>~e3lVAoe3WPg~1bZf0xCjRySU#3e*@xT@eThEpjwSSOkD~|66e4~QD1+b&g zg6yR>$paCb`@{KG)Hop}mPwkH5{HOep8s(0mqpqoS!Eu1Q?JpS4C3VZF935t-{#%8 z#t?T~{{{Fih(pB56URv-PM$bU8gcT(angvBCytYbIo6bS9C1X#)IPIAJXDY4Bmn$B XU*9YDR7g-}00000NkvXXu0mjfD$!oB literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Lara.png b/Backend/public/Logo/Lara.png new file mode 100644 index 0000000000000000000000000000000000000000..42e98b7fd52907025f6e1d460860449f5333a11f GIT binary patch literal 11208 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 u#-%Ar%T5%NVE-E&^u=U literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Maxi.png b/Backend/public/Logo/Maxi.png new file mode 100644 index 0000000000000000000000000000000000000000..c79b90b720f266d9abf763c716299bb41e8e9735 GIT binary patch literal 12887 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 B?>ztj literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Piri.png b/Backend/public/Logo/Piri.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ca21dbceebdb42e40baccabcae6e25bedaa847 GIT binary patch literal 5342 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 literal 0 HcmV?d00001 diff --git a/Backend/public/Logo/Rulo.png b/Backend/public/Logo/Rulo.png new file mode 100644 index 0000000000000000000000000000000000000000..beb7b0bd0605014ed0b0123261abf5078bf7f0b6 GIT binary patch literal 9501 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 M07*qoM6N<$f)*`?-T(jq literal 0 HcmV?d00001 diff --git a/Backend/public/docs/collection.json b/Backend/public/docs/collection.json new file mode 100644 index 0000000..a8be117 --- /dev/null +++ b/Backend/public/docs/collection.json @@ -0,0 +1,1811 @@ +{ + "variable": [ + { + "id": "baseUrl", + "key": "baseUrl", + "type": "string", + "name": "string", + "value": "https:\/\/sponge-climbing-adder.ngrok-free.app\/api\/documentation" + } + ], + "info": { + "name": "Kebab Api", + "_postman_id": "4177ef49-775d-4e41-998b-cd8601493769", + "description": "", + "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json" + }, + "item": [ + { + "name": "Auth", + "description": "*", + "item": [ + { + "name": "POST api\/register", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/register", + "query": [], + "raw": "{{baseUrl}}\/api\/register" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"name\":\"aspernatur\",\"email\":\"jamison69@example.org\",\"password\":\"ut\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/login", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/login", + "query": [], + "raw": "{{baseUrl}}\/api\/login" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"email\":\"kamryn22@example.com\",\"password\":\"at\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/logout", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/logout", + "query": [], + "raw": "{{baseUrl}}\/api\/logout" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + } + ] + }, + { + "name": "Endpoints", + "description": "", + "item": [ + { + "name": "GET api\/documentation", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/documentation", + "query": [], + "raw": "{{baseUrl}}\/api\/documentation" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/documentation could not be found.\"\n}", + "name": "" + } + ] + } + ] + }, + { + "name": "Kebab", + "description": "*", + "item": [ + { + "name": "GET api\/kebabs", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/kebabs could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/comments", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/comments", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/comments", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "unde", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"id_user\":7,\"comment\":\"itaque\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/comments", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/comments", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/comments", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "voluptatem", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"id_user\":18,\"comment\":\"deserunt\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/addKebab", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/addKebab", + "query": [], + "raw": "{{baseUrl}}\/api\/addKebab" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"logo\":\"ut\",\"name\":\"perferendis\",\"address\":\"vel\",\"coordinates\":\"nisi\",\"sauces\":\"at\",\"meats\":\"ullam\",\"status\":\"perferendis\",\"opening_hours\":\"perspiciatis\",\"opening_year\":\"deleniti\",\"closing_year\":\"accusantium\",\"is_crafted\":\"placeat\",\"is_premises\":\"minus\",\"is_chainstore\":\"aut\",\"ordering_options\":\"voluptas\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "adipisci", + "description": "The ID of the kebab." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/logo", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/logo", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/logo", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "quia", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/name", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/name", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/name", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "consequuntur", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"name\":\"quidem\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/address", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/address", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/address", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "ab", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"address\":\"huxswcermiukedcsywurinn\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/coordinates", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/coordinates", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/coordinates", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "eaque", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"coordinates\":[]}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/sauce", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/sauce", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/sauce", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "laboriosam", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"sauce\":\"nostrum\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/sauce", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/sauce", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/sauce", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "necessitatibus", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"sauce\":\"dolore\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/meat", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/meat", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/meat", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "facere", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"meat\":\"voluptatibus\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/meat", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/meat", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/meat", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "ratione", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"meat\":\"eos\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/status", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/status", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/status", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "quas", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"status\":\"exists\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/opening-hours", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-hours", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-hours", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "est", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"day\":\"saturday\",\"hours\":\"quis\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/opening-hours", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-hours", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-hours", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "omnis", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"day\":\"monday\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/opening-hours", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-hours", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-hours", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "qui", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"day\":\"sunday\",\"hours\":\"explicabo\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/opening-year", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/opening-year", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/opening-year", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "recusandae", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"opening_year\":\"6167\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/closing-year", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/closing-year", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/closing-year", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "voluptatem", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"closing_year\":\"2621\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/is-crafted", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/is-crafted", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/is-crafted", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "vel", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"is_crafted\":true}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/is-premises", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/is-premises", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/is-premises", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "laudantium", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"is_premises\":false}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/kebabs\/{kebabId}\/is-chainstore", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/is-chainstore", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/is-chainstore", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "ea", + "description": "" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"is_chainstore\":false}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/ordering-options", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/ordering-options", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/ordering-options", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "reprehenderit", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"new_option\":\"nesciunt\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/ordering-options", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/ordering-options", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/ordering-options", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "assumenda", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"option_to_remove\":\"est\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/kebabs\/{kebabId}\/pages", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/pages", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/pages", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "consectetur", + "description": "" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"new_page\":\"explicabo\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/kebabs\/{kebabId}\/pages", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/kebabs\/:kebabId\/pages", + "query": [], + "raw": "{{baseUrl}}\/api\/kebabs\/:kebabId\/pages", + "variable": [ + { + "id": "kebabId", + "key": "kebabId", + "value": "ad", + "description": "" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"page_to_remove\":\"corporis\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + } + ] + }, + { + "name": "KebabScraper", + "description": "*", + "item": [ + { + "name": "GET api\/scrape-reviews", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/scrape-reviews", + "query": [], + "raw": "{{baseUrl}}\/api\/scrape-reviews" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/scrape-reviews could not be found.\"\n}", + "name": "" + } + ] + } + ] + }, + { + "name": "Suggestions", + "description": "*", + "item": [ + { + "name": "POST api\/suggestions", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/suggestions", + "query": [], + "raw": "{{baseUrl}}\/api\/suggestions" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"user\":\"yhyrnmamtgxprtslmownvg\",\"contents\":\"vmtnljhahaj\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "GET api\/suggestions", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/suggestions", + "query": [], + "raw": "{{baseUrl}}\/api\/suggestions" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/suggestions could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "DELETE api\/suggestions\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/suggestions\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/suggestions\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "magni", + "description": "The ID of the suggestion." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + } + ] + }, + { + "name": "Users", + "description": "*", + "item": [ + { + "name": "GET api\/getCurrentUser", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/getCurrentUser", + "query": [], + "raw": "{{baseUrl}}\/api\/getCurrentUser" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/getCurrentUser could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "GET api\/fav\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/fav\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/fav\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "veritatis", + "description": "The ID of the fav." + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/fav\/veritatis could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "POST api\/addfav", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/addfav", + "query": [], + "raw": "{{baseUrl}}\/api\/addfav" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"user_id\":\"eum\",\"kebab_id\":\"quia\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "POST api\/remfav", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/remfav", + "query": [], + "raw": "{{baseUrl}}\/api\/remfav" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"user_id\":\"quas\",\"kebab_id\":\"quia\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changeName\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changeName\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changeName\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "facilis", + "description": "The ID of the changeName." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"newName\":\"nobis\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changePassword\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changePassword\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changePassword\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "laborum", + "description": "The ID of the changePassword." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"newPassword\":\"quas\",\"confirmPassword\":\"rerum\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changeEmail\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changeEmail\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changeEmail\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "commodi", + "description": "The ID of the changeEmail." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"newEmail\":\"shanie84@example.org\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "PUT api\/changeUserRole\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/changeUserRole\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/changeUserRole\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "atque", + "description": "The ID of the changeUserRole." + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"isAdmin\":false}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "DELETE api\/deleteUser\/{id}", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/deleteUser\/:id", + "query": [], + "raw": "{{baseUrl}}\/api\/deleteUser\/:id", + "variable": [ + { + "id": "id", + "key": "id", + "value": "ut", + "description": "The ID of the deleteUser." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + }, + { + "name": "GET api\/getAllUsers", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/getAllUsers", + "query": [], + "raw": "{{baseUrl}}\/api\/getAllUsers" + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [ + { + "header": [ + { + "key": "cache-control", + "value": "no-cache, private" + }, + { + "key": "content-type", + "value": "application\/json" + }, + { + "key": "vary", + "value": "Origin" + } + ], + "code": 404, + "body": "{\n \"message\": \"The route api\/getAllUsers could not be found.\"\n}", + "name": "" + } + ] + }, + { + "name": "POST api\/addNewUser", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/addNewUser", + "query": [], + "raw": "{{baseUrl}}\/api\/addNewUser" + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"name\":\"ut\",\"email\":\"moconnell@example.com\",\"password\":\"est\"}" + }, + "description": "", + "auth": { + "type": "noauth" + } + }, + "response": [] + } + ] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "Authorization", + "type": "string" + } + ] + } +} \ No newline at end of file diff --git a/Backend/public/docs/css/theme-default.print.css b/Backend/public/docs/css/theme-default.print.css new file mode 100644 index 0000000..18ab760 --- /dev/null +++ b/Backend/public/docs/css/theme-default.print.css @@ -0,0 +1,393 @@ +/* Copied from https://github.com/slatedocs/slate/blob/c4b4c0b8f83e891ca9fab6bbe9a1a88d5fe41292/stylesheets/print.css and unminified */ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline +} + +audio:not([controls]) { + display: none; + height: 0 +} + +[hidden], +template { + display: none +} + +a { + background-color: transparent +} + +a:active, +a:hover { + outline: 0 +} + +abbr[title] { + border-bottom: 1px dotted +} + +b, +strong { + font-weight: bold +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: 0.67em 0 +} + +mark { + background: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -0.5em +} + +sub { + bottom: -0.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: content-box; + height: 0 +} + +pre { + overflow: auto +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0 +} + +button { + overflow: visible +} + +button, +select { + text-transform: none +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer +} + +button[disabled], +html input[disabled] { + cursor: default +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input { + line-height: normal +} + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0 +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto +} + +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em +} + +legend { + border: 0; + padding: 0 +} + +textarea { + overflow: auto +} + +optgroup { + font-weight: bold +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, +th { + padding: 0 +} + +.content h1, +.content h2, +.content h3, +.content h4, +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 14px +} + +.content h1, +.content h2, +.content h3, +.content h4 { + font-weight: bold +} + +.content pre, +.content code { + font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; + font-size: 12px; + line-height: 1.5 +} + +.content pre, +.content code { + word-break: break-all; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto +} + +@font-face { + font-family: 'slate'; + src: url(../fonts/slate.eot?-syv14m); + src: url(../fonts/slate.eot?#iefix-syv14m) format("embedded-opentype"), url(../fonts/slate.woff2?-syv14m) format("woff2"), url(../fonts/slate.woff?-syv14m) format("woff"), url(../fonts/slate.ttf?-syv14m) format("truetype"), url(../fonts/slate.svg?-syv14m#slate) format("svg"); + font-weight: normal; + font-style: normal +} + +.content aside.warning:before, +.content aside.notice:before, +.content aside.success:before { + font-family: 'slate'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1 +} + +.content aside.warning:before { + content: "\e600" +} + +.content aside.notice:before { + content: "\e602" +} + +.content aside.success:before { + content: "\e606" +} + +.tocify, +.toc-footer, +.lang-selector, +.search, +#nav-button { + display: none +} + +.tocify-wrapper>img { + margin: 0 auto; + display: block +} + +.content { + font-size: 12px +} + +.content pre, +.content code { + border: 1px solid #999; + border-radius: 5px; + font-size: 0.8em +} + +.content pre code { + border: 0 +} + +.content pre { + padding: 1.3em +} + +.content code { + padding: 0.2em +} + +.content table { + border: 1px solid #999 +} + +.content table tr { + border-bottom: 1px solid #999 +} + +.content table td, +.content table th { + padding: 0.7em +} + +.content p { + line-height: 1.5 +} + +.content a { + text-decoration: none; + color: #000 +} + +.content h1 { + font-size: 2.5em; + padding-top: 0.5em; + padding-bottom: 0.5em; + margin-top: 1em; + margin-bottom: 21px; + border: 2px solid #ccc; + border-width: 2px 0; + text-align: center +} + +.content h2 { + font-size: 1.8em; + margin-top: 2em; + border-top: 2px solid #ccc; + padding-top: 0.8em +} + +.content h1+h2, +.content h1+div+h2 { + border-top: none; + padding-top: 0; + margin-top: 0 +} + +.content h3, +.content h4 { + font-size: 0.8em; + margin-top: 1.5em; + margin-bottom: 0.8em; + text-transform: uppercase +} + +.content h5, +.content h6 { + text-transform: uppercase +} + +.content aside { + padding: 1em; + border: 1px solid #ccc; + border-radius: 5px; + margin-top: 1.5em; + margin-bottom: 1.5em; + line-height: 1.6 +} + +.content aside:before { + vertical-align: middle; + padding-right: 0.5em; + font-size: 14px +} diff --git a/Backend/public/docs/css/theme-default.style.css b/Backend/public/docs/css/theme-default.style.css new file mode 100644 index 0000000..9a4741c --- /dev/null +++ b/Backend/public/docs/css/theme-default.style.css @@ -0,0 +1,1090 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +html { + font-family: 'Open Sans', sans-serif; + font-size: 1.2em; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section { + display: block +} + +summary { + cursor: pointer; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline +} + +audio:not([controls]) { + display: none; + height: 0 +} + +[hidden], +template { + display: none +} + +a { + background-color: transparent +} + +a:active, +a:hover { + outline: 0 +} + +abbr[title] { + border-bottom: 1px dotted +} + +b, +strong { + font-weight: 700 +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: .67em 0 +} + +mark { + background: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline +} + +sup { + top: -.5em +} + +sub { + bottom: -.25em +} + +img { + border: 0 +} + +svg:not(:root) { + overflow: hidden +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: content-box; + height: 0 +} + +pre { + overflow: auto +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0 +} + +button { + overflow: visible +} + +button, +select { + text-transform: none +} + +button, +html input[type=button], +input[type=reset], +input[type=submit] { + -webkit-appearance: button; + cursor: pointer +} + +button[disabled], +html input[disabled] { + cursor: default +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input { + line-height: normal +} + +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + padding: 0 +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + height: auto +} + +input[type=search] { + -webkit-appearance: textfield; + box-sizing: content-box +} + +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +fieldset { + border: 1px solid silver; + margin: 0 2px; + padding: .35em .625em .75em +} + +legend { + border: 0; + padding: 0 +} + +textarea { + overflow: auto +} + +optgroup { + font-weight: 700 +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, +th { + padding: 0 +} + +body, +html { + font-family: 'Open Sans', Helvetica Neue, Helvetica, Arial, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif; + font-size: 16px; +} + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + font-family: 'Open Sans', Helvetica Neue, Helvetica, Arial, Microsoft Yahei, 微软雅黑, STXihei, 华文细黑, sans-serif; +} + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + font-weight: 700 +} + +.content code, +.content pre { + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; + font-size: 14px; + line-height: 1.5 +} + +.content code { + word-break: break-all; + word-break: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto +} + +.content aside.notice:before, +.content aside.success:before, +.content aside.warning:before, +.tocify-wrapper>.search:before { + font-family: 'Open Sans', sans-serif; + speak: none; + font-style: normal; + font-variant: normal; + text-transform: none; + line-height: 1 +} + +.content aside.warning:before { + content: "✋" +} + +.content aside.notice:before { + content: "ℹ" +} + +.content aside.success:before { + content: "✅" +} + +.tocify-wrapper>.search:before { + content: "🔎" +} + +.highlight .c, +.highlight .c1, +.highlight .cm, +.highlight .cs { + color: #909090 +} + +.highlight, +.highlight .w { + background-color: #292929 +} + +.hljs { + display: block; + overflow-x: auto; + padding: .5em; + background: #23241f +} + +.hljs, +.hljs-subst, +.hljs-tag { + color: #f8f8f2 +} + +.hljs-emphasis, +.hljs-strong { + color: #a8a8a2 +} + +.hljs-bullet, +.hljs-link, +.hljs-literal, +.hljs-number, +.hljs-quote, +.hljs-regexp { + color: #ae81ff +} + +.hljs-code, +.hljs-section, +.hljs-selector-class, +.hljs-title { + color: #a6e22e +} + +.hljs-strong { + font-weight: 700 +} + +.hljs-emphasis { + font-style: italic +} + +.hljs-attr, +.hljs-keyword, +.hljs-name, +.hljs-selector-tag { + color: #f92672 +} + +.hljs-attribute, +.hljs-symbol { + color: #66d9ef +} + +.hljs-class .hljs-title, +.hljs-params { + color: #f8f8f2 +} + +.hljs-addition, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-id, +.hljs-selector-pseudo, +.hljs-string, +.hljs-template-variable, +.hljs-type, +.hljs-variable { + color: #e6db74 +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e +} + +body, +html { + color: #333; + padding: 0; + margin: 0; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + background-color: whitesmoke; + height: 100%; + -webkit-text-size-adjust: none +} + +#toc>ul>li>a>span { + float: right; + background-color: #2484ff; + border-radius: 40px; + width: 20px +} + +.tocify-wrapper { + transition: left .3s ease-in-out; + overflow-y: auto; + overflow-x: hidden; + position: fixed; + z-index: 30; + top: 0; + left: 0; + bottom: 0; + width: 230px; + background-color: #393939; + font-size: 13px; + font-weight: 700 +} + +.tocify-wrapper .lang-selector { + display: none +} + +.tocify-wrapper .lang-selector a { + padding-top: .5em; + padding-bottom: .5em +} + +.tocify-wrapper>img { + display: block +} + +.tocify-wrapper>.search { + position: relative +} + +.tocify-wrapper>.search input { + background: #393939; + border-width: 0 0 1px; + border-color: #666; + padding: 6px 0 6px 20px; + box-sizing: border-box; + margin: 10px 15px; + width: 200px; + outline: none; + color: #fff; + border-radius: 0 +} + +.tocify-wrapper>.search:before { + position: absolute; + top: 17px; + left: 15px; + color: #fff +} + +.tocify-wrapper img+.tocify { + margin-top: 20px +} + +.tocify-wrapper .search-results { + margin-top: 0; + box-sizing: border-box; + height: 0; + overflow-y: auto; + overflow-x: hidden; + transition-property: height, margin; + transition-duration: .18s; + transition-timing-function: ease-in-out; + background: linear-gradient(180deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(0deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(180deg, #000, transparent 1.5px), linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626 +} + +.tocify-wrapper .search-results.visible { + height: 30%; + margin-bottom: 1em +} + +.tocify-wrapper .search-results li { + margin: 1em 15px; + line-height: 1 +} + +.tocify-wrapper a { + color: #fff; + text-decoration: none +} + +.tocify-wrapper .search-results a:hover { + text-decoration: underline +} + +.tocify-wrapper .toc-footer li, +.tocify-wrapper .tocify-item>a { + padding: 0 15px; + display: block; + overflow-x: hidden; + white-space: nowrap; + text-overflow: ellipsis +} +.tocify-wrapper .tocify-item.level-3>a { + padding: 0 25px; +} + +.tocify-wrapper li, +.tocify-wrapper ul { + list-style: none; + margin: 0; + padding: 0; + line-height: 28px +} + +.tocify-wrapper li { + color: #fff; + transition-property: background; + transition-timing-function: linear; + transition-duration: .23s +} + +.tocify-wrapper .tocify-focus { + box-shadow: 0 1px 0 #000; + background-color: #2467af; + color: #fff; + font-weight: bold; +} + +.tocify-wrapper .tocify-subheader { + display: none; + background-color: #262626; + font-weight: 500; + background: linear-gradient(180deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(0deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(180deg, #000, transparent 1.5px), linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626 +} + +.tocify-wrapper .jets-searching .tocify-subheader, +.tocify-wrapper .tocify-subheader.visible { + display: block; +} + +.tocify-wrapper .tocify-subheader .tocify-item>a { + padding-left: 25px; + font-size: 12px +} + +.tocify-wrapper .tocify-subheader .tocify-item.level-3>a { + padding-left: 35px; +} + +.tocify-wrapper .tocify-subheader>li:last-child { + box-shadow: none +} + +.tocify-wrapper .toc-footer { + padding: 1em 0; + margin-top: 1em; + border-top: 1px dashed #666 +} + +.tocify-wrapper .toc-footer a, +.tocify-wrapper .toc-footer li { + color: #fff; + text-decoration: none +} + +.tocify-wrapper .toc-footer a:hover { + text-decoration: underline +} + +.tocify-wrapper .toc-footer li { + font-size: .8em; + line-height: 1.7; + text-decoration: none +} + +#nav-button { + padding: 0 1.5em 5em 0; + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 100; + color: #000; + text-decoration: none; + font-weight: 700; + opacity: .7; + line-height: 16px; + transition: left .3s ease-in-out +} + +#nav-button span { + display: block; + padding: 6px; + background-color: rgba(234, 242, 246, .7); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: rotate(-90deg) translate(-100%); + transform: rotate(-90deg) translate(-100%); + border-radius: 0 0 0 5px +} + +#nav-button img { + height: 16px; + vertical-align: bottom +} + +#nav-button:hover { + opacity: 1 +} + +#nav-button.open { + left: 230px +} + +.page-wrapper { + margin-left: 230px; + position: relative; + z-index: 10; + background-color: #eaf2f6; + min-height: 100%; + padding-bottom: 1px +} + +.page-wrapper .dark-box { + width: 50%; + background-color: #393939; + position: absolute; + right: 0; + top: 0; + bottom: 0 +} + +.page-wrapper .lang-selector { + position: fixed; + z-index: 50; + border-bottom: 5px solid #393939 +} + +.lang-selector { + background-color: #222; + width: 100%; + font-weight: 700 +} + +.lang-selector button { + display: block; + float: left; + color: #fff; + text-decoration: none; + padding: 0 10px; + line-height: 30px; + outline: 0; + background: transparent; + border: none; +} + +.lang-selector button:active, +.lang-selector button:hover, +.lang-selector button:focus { + background-color: #111; + color: #fff +} + +.lang-selector button.active { + background-color: #393939; + color: #fff +} + +.lang-selector:after { + content: ''; + clear: both; + display: block +} + +.content { + position: relative; + z-index: 30 +} + +.content:after { + content: ''; + display: block; + clear: both +} + +.content>aside, +.content>details, +.content>dl, +.content>h1, +.content>h2, +.content>h3, +.content>h4, +.content>h5, +.content>h6, +.content>ol, +.content>p, +.content>table, +.content>ul, +.content>div, +.content>form>aside, +.content>form>details, +.content>form>h1, +.content>form>h2, +.content>form>h3, +.content>form>h4, +.content>form>h5, +.content>form>h6, +.content>form>p, +.content>form>table, +.content>form>ul, +.content>form>div { + margin-right: 50%; + padding: 0 28px; + box-sizing: border-box; + display: block; + text-shadow: 0 1px 0 #fff +} + +.content>ol, +.content>ul { + padding-left: 43px +} + +.content>div, +.content>h1, +.content>h2 { + clear: both +} + +.content h1 { + font-size: 30px; + padding-top: .5em; + padding-bottom: .5em; + border-bottom: 1px solid #ccc; + margin-bottom: 21px; + margin-top: 2em; + border-top: 1px solid #ddd; + background-image: linear-gradient(180deg, #fff, #f9f9f9) +} + +.content div:first-child+h1, +.content h1:first-child { + border-top-width: 0; + margin-top: 0 +} + +.content h2 { + font-size: 20px; + margin-top: 4em; + margin-bottom: 0; + border-top: 1px solid #ccc; + padding-top: 1.2em; + padding-bottom: 1.2em; + background-image: linear-gradient(180deg, hsla(0, 0%, 100%, .4), hsla(0, 0%, 100%, 0)) +} + +.content h1+div+h2, +.content h1+h2 { + margin-top: -21px; + border-top: none +} + +.content h3, +.content h4, +.content h5, +.content h6 { + font-size: 15px; + margin-top: 2.5em; + margin-bottom: .8em +} + +.content h4, +.content h5, +.content h6 { + font-size: 10px +} + +.content hr { + margin: 2em 0; + border-top: 2px solid #393939; + border-bottom: 2px solid #eaf2f6 +} + +.content table { + margin-bottom: 1em; + overflow: auto +} + +.content table td, +.content table th { + text-align: left; + vertical-align: top; + line-height: 1.6 +} + +.content table th { + padding: 5px 10px; + border-bottom: 1px solid #ccc; + vertical-align: bottom +} + +.content table td { + padding: 10px +} + +.content table tr:last-child { + border-bottom: 1px solid #ccc +} + +.content table tr:nth-child(odd)>td { + background-color: #ebf3f6 +} + +.content table tr:nth-child(even)>td { + background-color: #ebf2f6 +} + +.content dt { + font-weight: 700 +} + +.content dd { + margin-left: 15px +} + +.content dd, +.content dt, +.content li, +.content p { + line-height: 1.6; + margin-top: 0 +} + +.content img { + max-width: 100% +} + +.content code { + padding: 3px; + border-radius: 3px +} + +.content pre>code { + background-color: transparent; + padding: 0 +} + +.content aside { + padding-top: 1em; + padding-bottom: 1em; + margin-top: 1.5em; + margin-bottom: 1.5em; + background: #292929; + line-height: 1.6; + color: #c8c8c8; + text-shadow: none; +} + +.content aside.info { + background: #8fbcd4; + text-shadow: 0 1px 0 #a0c6da; + color: initial; +} + +.content aside.warning { + background-color: #c97a7e; + text-shadow: 0 1px 0 #d18e91; + color: initial; +} + +.content aside.success { + background-color: #6ac174; + text-shadow: 0 1px 0 #80ca89; + color: initial; +} + +.content aside:before { + vertical-align: middle; + padding-right: .5em; + font-size: 14px +} + +.content .search-highlight { + padding: 2px; + margin: -2px; + border-radius: 4px; + border: 1px solid #f7e633; + text-shadow: 1px 1px 0 #666; + background: linear-gradient(to top left, #f7e633, #f1d32f) +} + +.content blockquote, +.content pre { + background-color: #292929; + color: #fff; + padding: 1.5em 28px; + margin: 0; + width: 50%; + float: right; + clear: right; + box-sizing: border-box; + text-shadow: 0 1px 2px rgba(0, 0, 0, .4) +} + +.content blockquote pre.sf-dump, +.content pre pre.sf-dump { + width: 100%; +} + +.content .annotation { + background-color: #292929; + color: #fff; + padding: 0 28px; + margin: 0; + width: 50%; + float: right; + clear: right; + box-sizing: border-box; + text-shadow: 0 1px 2px rgba(0, 0, 0, .4) +} + +.content .annotation pre { + padding: 0 0; + width: 100%; + float: none; +} + +.content blockquote>p, +.content pre>p { + margin: 0 +} + +.content blockquote a, +.content pre a { + color: #fff; + text-decoration: none; + border-bottom: 1px dashed #ccc +} + +.content blockquote>p { + background-color: #1c1c1c; + border-radius: 5px; + padding: 13px; + color: #ccc; + border-top: 1px solid #000; + border-bottom: 1px solid #404040 +} + +@media (max-width:930px) { + .tocify-wrapper { + left: -230px + } + .tocify-wrapper.open { + left: 0 + } + .page-wrapper { + margin-left: 0 + } + #nav-button { + display: block + } + .tocify-wrapper .tocify-item>a { + padding-top: .3em; + padding-bottom: .3em + } +} + +@media (max-width:700px) { + .dark-box { + display: none + } + .tocify-wrapper .lang-selector { + display: block + } + .page-wrapper .lang-selector { + display: none + } + .content>aside, + .content>details, + .content>dl, + .content>h1, + .content>h2, + .content>h3, + .content>h4, + .content>h5, + .content>h6, + .content>ol, + .content>p, + .content>table, + .content>ul, + .content>div, + .content>form>aside, + .content>form>details, + .content>form>h1, + .content>form>h2, + .content>form>h3, + .content>form>h4, + .content>form>h5, + .content>form>h6, + .content>form>p, + .content>form>table, + .content>form>ul, + .content>form>div { + margin-right: 0; + } + .content blockquote, + .content pre { + float: none; + width: auto + } + .content .annotation { + float: none; + width: auto + } +} + +.badge { + padding: 1px 9px 2px; + white-space: nowrap; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; + color: #ffffff; + text-shadow: none !important; + font-weight: bold; +} + +.badge.badge-darkred { + background-color: darkred; +} + +.badge.badge-red { + background-color: red; +} + +.badge.badge-blue { + background-color: blue; +} + +.badge.badge-darkblue { + background-color: darkblue; +} + +.badge.badge-green { + background-color: green; +} + +.badge.badge-darkgreen { + background-color: darkgreen; +} + +.badge.badge-purple { + background-color: purple; +} + +.badge.badge-black { + background-color: black; +} + +.badge.badge-grey { + background-color: grey; +} + +.fancy-heading-panel { + background-color: lightgrey; + border-radius: 5px; + padding-left: 5px !important; + padding-top: 5px !important; + padding-bottom: 5px !important; + margin-left: 25px; + margin-right: 10px; + width: 47%; +} + +@media screen and (max-width: 700px) { + .fancy-heading-panel { + width: 95%; + } + +} + +button { + border: none; +} + +* { + /* Foreground, Background */ + scrollbar-color: #3c4c67 transparent; +} +*::-webkit-scrollbar { /* Background */ + width: 10px; + height: 10px; + background: transparent; +} + +*::-webkit-scrollbar-thumb { /* Foreground */ + background: #626161; +} diff --git a/Backend/public/docs/images/navbar.png b/Backend/public/docs/images/navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..df38e90d87e1a215371b4977e18cde90f8832537 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk@BpAX3RW*PVQ%R6tFatx` + + + + + + Kebab Api + + + + + + + + + + + + + + + + + + + + + + + + + + + MENU + navbar-image + + +
+ +
+ + + +
+ + + +
+ + + + + + + + +
+ + + + +
+ +
+
+
+

Introduction

+ +

This documentation aims to provide all the information you need to work with our API.

+ + +

Authenticating requests

+

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

+

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

+

You can retrieve your token by visiting your dashboard and clicking Generate API token.

+ +

Auth

+ +

*

+ +

POST api/register

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/register" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"name\": \"aspernatur\",
+    \"email\": \"jamison69@example.org\",
+    \"password\": \"ut\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/register"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "name": "aspernatur",
+    "email": "jamison69@example.org",
+    "password": "ut"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/register';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'name' => 'aspernatur',
+            'email' => 'jamison69@example.org',
+            'password' => 'ut',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/register +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ name   +string  +   + +
+

Example: aspernatur

+
+
+ email   +string  +   + +
+

Must be a valid email address. Example: jamison69@example.org

+
+
+ password   +string  +   + +
+

Example: ut

+
+
+ +

POST api/login

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/login" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"email\": \"kamryn22@example.com\",
+    \"password\": \"at\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/login"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "email": "kamryn22@example.com",
+    "password": "at"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/login';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'email' => 'kamryn22@example.com',
+            'password' => 'at',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/login +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ email   +string  +   + +
+

Must be a valid email address. The email of an existing record in the users table. Example: kamryn22@example.com

+
+
+ password   +string  +   + +
+

Example: at

+
+
+ +

POST api/logout

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/logout" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/logout"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/logout';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/logout +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Endpoints

+ + + +

GET api/documentation

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/documentation" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/documentation"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/documentation';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/documentation could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/documentation +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Kebab

+ +

*

+ +

GET api/kebabs

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/kebabs could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/kebabs +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

POST api/kebabs/{kebabId}/comments

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/unde/comments" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"id_user\": 7,
+    \"comment\": \"itaque\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/unde/comments"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "id_user": 7,
+    "comment": "itaque"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/unde/comments';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'id_user' => 7,
+            'comment' => 'itaque',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/comments +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: unde

+
+

Body Parameters

+
+ id_user   +integer  +   + +
+

Example: 7

+
+
+ comment   +string  +   + +
+

Example: itaque

+
+
+ +

DELETE api/kebabs/{kebabId}/comments

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/voluptatem/comments" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"id_user\": 18,
+    \"comment\": \"deserunt\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/voluptatem/comments"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "id_user": 18,
+    "comment": "deserunt"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/voluptatem/comments';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'id_user' => 18,
+            'comment' => 'deserunt',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/comments +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: voluptatem

+
+

Body Parameters

+
+ id_user   +integer  +   + +
+

Example: 18

+
+
+ comment   +string  +   + +
+

Example: deserunt

+
+
+ +

POST api/addKebab

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addKebab" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"logo\": \"ut\",
+    \"name\": \"perferendis\",
+    \"address\": \"vel\",
+    \"coordinates\": \"nisi\",
+    \"sauces\": \"at\",
+    \"meats\": \"ullam\",
+    \"status\": \"perferendis\",
+    \"opening_hours\": \"perspiciatis\",
+    \"opening_year\": \"deleniti\",
+    \"closing_year\": \"accusantium\",
+    \"is_crafted\": \"placeat\",
+    \"is_premises\": \"minus\",
+    \"is_chainstore\": \"aut\",
+    \"ordering_options\": \"voluptas\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addKebab"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "logo": "ut",
+    "name": "perferendis",
+    "address": "vel",
+    "coordinates": "nisi",
+    "sauces": "at",
+    "meats": "ullam",
+    "status": "perferendis",
+    "opening_hours": "perspiciatis",
+    "opening_year": "deleniti",
+    "closing_year": "accusantium",
+    "is_crafted": "placeat",
+    "is_premises": "minus",
+    "is_chainstore": "aut",
+    "ordering_options": "voluptas"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addKebab';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'logo' => 'ut',
+            'name' => 'perferendis',
+            'address' => 'vel',
+            'coordinates' => 'nisi',
+            'sauces' => 'at',
+            'meats' => 'ullam',
+            'status' => 'perferendis',
+            'opening_hours' => 'perspiciatis',
+            'opening_year' => 'deleniti',
+            'closing_year' => 'accusantium',
+            'is_crafted' => 'placeat',
+            'is_premises' => 'minus',
+            'is_chainstore' => 'aut',
+            'ordering_options' => 'voluptas',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/addKebab +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ logo   +string  +   + +
+

Example: ut

+
+
+ name   +string  +   + +
+

Example: perferendis

+
+
+ address   +string  +   + +
+

Example: vel

+
+
+ coordinates   +string  +   + +
+

Example: nisi

+
+
+ sauces   +string  +   + +
+

Example: at

+
+
+ meats   +string  +   + +
+

Example: ullam

+
+
+ status   +string  +   + +
+

Example: perferendis

+
+
+ opening_hours   +string  +   + +
+

Example: perspiciatis

+
+
+ opening_year   +string  +   + +
+

Example: deleniti

+
+
+ closing_year   +string  +   + +
+

Example: accusantium

+
+
+ is_crafted   +string  +   + +
+

Example: placeat

+
+
+ is_premises   +string  +   + +
+

Example: minus

+
+
+ is_chainstore   +string  +   + +
+

Example: aut

+
+
+ ordering_options   +string  +   + +
+

Example: voluptas

+
+
+ +

DELETE api/kebabs/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/adipisci" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/adipisci"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/adipisci';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the kebab. Example: adipisci

+
+
+ + + +

+

+ + + + + + + + + + +

PUT api/kebabs/{kebabId}/name

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/consequuntur/name" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"name\": \"quidem\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/consequuntur/name"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "name": "quidem"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/consequuntur/name';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'name' => 'quidem',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/name +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: consequuntur

+
+

Body Parameters

+
+ name   +string  +   + +
+

Example: quidem

+
+
+ +

PUT api/kebabs/{kebabId}/address

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ab/address" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"address\": \"huxswcermiukedcsywurinn\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ab/address"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "address": "huxswcermiukedcsywurinn"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ab/address';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'address' => 'huxswcermiukedcsywurinn',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/address +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: ab

+
+

Body Parameters

+
+ address   +string  +   + +
+

Must not be greater than 255 characters. Example: huxswcermiukedcsywurinn

+
+
+ +

PUT api/kebabs/{kebabId}/coordinates

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/eaque/coordinates" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"coordinates\": []
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/eaque/coordinates"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "coordinates": []
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/eaque/coordinates';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'coordinates' => [],
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/coordinates +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: eaque

+
+

Body Parameters

+
+ coordinates   +object  +   + +
+ +
+
+ +

POST api/kebabs/{kebabId}/sauce

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/laboriosam/sauce" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"sauce\": \"nostrum\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/laboriosam/sauce"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "sauce": "nostrum"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/laboriosam/sauce';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'sauce' => 'nostrum',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/sauce +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: laboriosam

+
+

Body Parameters

+
+ sauce   +string  +   + +
+

Example: nostrum

+
+
+ +

DELETE api/kebabs/{kebabId}/sauce

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/necessitatibus/sauce" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"sauce\": \"dolore\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/necessitatibus/sauce"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "sauce": "dolore"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/necessitatibus/sauce';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'sauce' => 'dolore',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/sauce +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: necessitatibus

+
+

Body Parameters

+
+ sauce   +string  +   + +
+

Example: dolore

+
+
+ +

POST api/kebabs/{kebabId}/meat

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/facere/meat" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"meat\": \"voluptatibus\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/facere/meat"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "meat": "voluptatibus"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/facere/meat';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'meat' => 'voluptatibus',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/meat +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: facere

+
+

Body Parameters

+
+ meat   +string  +   + +
+

Example: voluptatibus

+
+
+ +

DELETE api/kebabs/{kebabId}/meat

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ratione/meat" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"meat\": \"eos\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ratione/meat"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "meat": "eos"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ratione/meat';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'meat' => 'eos',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/meat +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: ratione

+
+

Body Parameters

+
+ meat   +string  +   + +
+

Example: eos

+
+
+ +

PUT api/kebabs/{kebabId}/status

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/quas/status" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"status\": \"exists\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/quas/status"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "status": "exists"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/quas/status';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'status' => 'exists',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/status +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: quas

+
+

Body Parameters

+
+ status   +string  +   + +
+

Example: exists

+Must be one of: +
  • exists
  • closed
  • planned
+
+
+ +

POST api/kebabs/{kebabId}/opening-hours

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/est/opening-hours" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"day\": \"saturday\",
+    \"hours\": \"quis\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/est/opening-hours"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "day": "saturday",
+    "hours": "quis"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/est/opening-hours';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'day' => 'saturday',
+            'hours' => 'quis',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/opening-hours +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: est

+
+

Body Parameters

+
+ day   +string  +   + +
+

Example: saturday

+Must be one of: +
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
+
+
+ hours   +string  +   + +
+

Example: quis

+
+
+ +

DELETE api/kebabs/{kebabId}/opening-hours

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/omnis/opening-hours" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"day\": \"monday\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/omnis/opening-hours"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "day": "monday"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/omnis/opening-hours';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'day' => 'monday',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/opening-hours +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: omnis

+
+

Body Parameters

+
+ day   +string  +   + +
+

Example: monday

+Must be one of: +
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
+
+
+ +

PUT api/kebabs/{kebabId}/opening-hours

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/qui/opening-hours" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"day\": \"sunday\",
+    \"hours\": \"explicabo\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/qui/opening-hours"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "day": "sunday",
+    "hours": "explicabo"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/qui/opening-hours';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'day' => 'sunday',
+            'hours' => 'explicabo',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/opening-hours +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: qui

+
+

Body Parameters

+
+ day   +string  +   + +
+

Example: sunday

+Must be one of: +
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
+
+
+ hours   +string  +   + +
+

Example: explicabo

+
+
+ +

PUT api/kebabs/{kebabId}/opening-year

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/recusandae/opening-year" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"opening_year\": \"6167\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/recusandae/opening-year"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "opening_year": "6167"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/recusandae/opening-year';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'opening_year' => '6167',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/opening-year +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: recusandae

+
+

Body Parameters

+
+ opening_year   +string  +optional   + +
+

Must be 4 digits. Example: 6167

+
+
+ +

PUT api/kebabs/{kebabId}/closing-year

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/voluptatem/closing-year" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"closing_year\": \"2621\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/voluptatem/closing-year"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "closing_year": "2621"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/voluptatem/closing-year';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'closing_year' => '2621',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/closing-year +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: voluptatem

+
+

Body Parameters

+
+ closing_year   +string  +optional   + +
+

Must be 4 digits. Example: 2621

+
+
+ +

PUT api/kebabs/{kebabId}/is-crafted

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/vel/is-crafted" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"is_crafted\": true
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/vel/is-crafted"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "is_crafted": true
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/vel/is-crafted';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'is_crafted' => true,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/is-crafted +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: vel

+
+

Body Parameters

+
+ is_crafted   +boolean  +optional   + + +
+

Example: true

+
+
+ +

PUT api/kebabs/{kebabId}/is-premises

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/laudantium/is-premises" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"is_premises\": false
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/laudantium/is-premises"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "is_premises": false
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/laudantium/is-premises';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'is_premises' => false,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/is-premises +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: laudantium

+
+

Body Parameters

+
+ is_premises   +boolean  +optional   + + +
+

Example: false

+
+
+ +

PUT api/kebabs/{kebabId}/is-chainstore

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ea/is-chainstore" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"is_chainstore\": false
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ea/is-chainstore"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "is_chainstore": false
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ea/is-chainstore';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'is_chainstore' => false,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/kebabs/{kebabId}/is-chainstore +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: ea

+
+

Body Parameters

+
+ is_chainstore   +boolean  +optional   + + +
+

Example: false

+
+
+ +

POST api/kebabs/{kebabId}/ordering-options

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/reprehenderit/ordering-options" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"new_option\": \"nesciunt\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/reprehenderit/ordering-options"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "new_option": "nesciunt"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/reprehenderit/ordering-options';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'new_option' => 'nesciunt',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/ordering-options +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: reprehenderit

+
+

Body Parameters

+
+ new_option   +string  +   + +
+

Example: nesciunt

+
+
+ +

DELETE api/kebabs/{kebabId}/ordering-options

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/assumenda/ordering-options" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"option_to_remove\": \"est\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/assumenda/ordering-options"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "option_to_remove": "est"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/assumenda/ordering-options';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'option_to_remove' => 'est',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/ordering-options +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: assumenda

+
+

Body Parameters

+
+ option_to_remove   +string  +   + +
+

Example: est

+
+
+ +

POST api/kebabs/{kebabId}/pages

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/consectetur/pages" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"new_page\": \"explicabo\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/consectetur/pages"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "new_page": "explicabo"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/consectetur/pages';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'new_page' => 'explicabo',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/kebabs/{kebabId}/pages +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: consectetur

+
+

Body Parameters

+
+ new_page   +string  +   + +
+

Example: explicabo

+
+
+ +

DELETE api/kebabs/{kebabId}/pages

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ad/pages" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"page_to_remove\": \"corporis\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ad/pages"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "page_to_remove": "corporis"
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/kebabs/ad/pages';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'page_to_remove' => 'corporis',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/kebabs/{kebabId}/pages +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ kebabId   +string  +   + +
+

Example: ad

+
+

Body Parameters

+
+ page_to_remove   +string  +   + +
+

Example: corporis

+
+
+ +

KebabScraper

+ +

*

+ +

GET api/scrape-reviews

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/scrape-reviews" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/scrape-reviews"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/scrape-reviews';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/scrape-reviews could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/scrape-reviews +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

Suggestions

+ +

*

+ +

POST api/suggestions

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"user\": \"yhyrnmamtgxprtslmownvg\",
+    \"contents\": \"vmtnljhahaj\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "user": "yhyrnmamtgxprtslmownvg",
+    "contents": "vmtnljhahaj"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'user' => 'yhyrnmamtgxprtslmownvg',
+            'contents' => 'vmtnljhahaj',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/suggestions +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ user   +string  +   + +
+

Must not be greater than 255 characters. Example: yhyrnmamtgxprtslmownvg

+
+
+ contents   +string  +   + +
+

Must not be greater than 255 characters. Example: vmtnljhahaj

+
+
+ +

GET api/suggestions

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/suggestions could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/suggestions +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

DELETE api/suggestions/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions/magni" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions/magni"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/suggestions/magni';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/suggestions/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the suggestion. Example: magni

+
+
+ +

Users

+ +

*

+ +

GET api/getCurrentUser

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/getCurrentUser" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/getCurrentUser"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/getCurrentUser';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/getCurrentUser could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/getCurrentUser +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

GET api/fav/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/fav/veritatis" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/fav/veritatis"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/fav/veritatis';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/fav/veritatis could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/fav/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the fav. Example: veritatis

+
+
+ +

POST api/addfav

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addfav" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"user_id\": \"eum\",
+    \"kebab_id\": \"quia\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addfav"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "user_id": "eum",
+    "kebab_id": "quia"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addfav';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'user_id' => 'eum',
+            'kebab_id' => 'quia',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/addfav +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ user_id   +string  +   + +
+

Example: eum

+
+
+ kebab_id   +string  +   + +
+

Example: quia

+
+
+ +

POST api/remfav

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/remfav" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"user_id\": \"quas\",
+    \"kebab_id\": \"quia\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/remfav"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "user_id": "quas",
+    "kebab_id": "quia"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/remfav';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'user_id' => 'quas',
+            'kebab_id' => 'quia',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/remfav +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ user_id   +string  +   + +
+

Example: quas

+
+
+ kebab_id   +string  +   + +
+

Example: quia

+
+
+ +

PUT api/changeName/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeName/facilis" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"newName\": \"nobis\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeName/facilis"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "newName": "nobis"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeName/facilis';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'newName' => 'nobis',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changeName/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changeName. Example: facilis

+
+

Body Parameters

+
+ newName   +string  +   + +
+

Example: nobis

+
+
+ +

PUT api/changePassword/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changePassword/laborum" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"newPassword\": \"quas\",
+    \"confirmPassword\": \"rerum\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changePassword/laborum"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "newPassword": "quas",
+    "confirmPassword": "rerum"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changePassword/laborum';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'newPassword' => 'quas',
+            'confirmPassword' => 'rerum',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changePassword/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changePassword. Example: laborum

+
+

Body Parameters

+
+ newPassword   +string  +   + +
+

Example: quas

+
+
+ confirmPassword   +string  +   + +
+

Example: rerum

+
+
+ +

PUT api/changeEmail/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeEmail/commodi" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"newEmail\": \"shanie84@example.org\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeEmail/commodi"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "newEmail": "shanie84@example.org"
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeEmail/commodi';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'newEmail' => 'shanie84@example.org',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changeEmail/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changeEmail. Example: commodi

+
+

Body Parameters

+
+ newEmail   +string  +   + +
+

Must be a valid email address. Example: shanie84@example.org

+
+
+ +

PUT api/changeUserRole/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request PUT \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeUserRole/atque" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"isAdmin\": false
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeUserRole/atque"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "isAdmin": false
+};
+
+fetch(url, {
+    method: "PUT",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/changeUserRole/atque';
+$response = $client->put(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'isAdmin' => false,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ PUT + api/changeUserRole/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the changeUserRole. Example: atque

+
+

Body Parameters

+
+ isAdmin   +boolean  +   + + +
+

Example: false

+
+
+ +

DELETE api/deleteUser/{id}

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/deleteUser/ut" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/deleteUser/ut"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/deleteUser/ut';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ DELETE + api/deleteUser/{id} +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ id   +string  +   + +
+

The ID of the deleteUser. Example: ut

+
+
+ +

GET api/getAllUsers

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/getAllUsers" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/getAllUsers"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/getAllUsers';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + +
+

Example response (404):

+
+
+ + Show headers + +
cache-control: no-cache, private
+content-type: application/json
+vary: Origin
+ 
+
+{
+    "message": "The route api/getAllUsers could not be found."
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/getAllUsers +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+
+ +

POST api/addNewUser

+ +

+

+ + + + +
Example request:
+ + +
+
curl --request POST \
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addNewUser" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"name\": \"ut\",
+    \"email\": \"moconnell@example.com\",
+    \"password\": \"est\"
+}"
+
+ + +
+
const url = new URL(
+    "https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addNewUser"
+);
+
+const headers = {
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "name": "ut",
+    "email": "moconnell@example.com",
+    "password": "est"
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://sponge-climbing-adder.ngrok-free.app/api/documentation/api/addNewUser';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'name' => 'ut',
+            'email' => 'moconnell@example.com',
+            'password' => 'est',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ +
+ + + + + +
+

+ Request    + +    + +

+

+ POST + api/addNewUser +

+

Headers

+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

Body Parameters

+
+ name   +string  +   + +
+

Example: ut

+
+
+ email   +string  +   + +
+

Must be a valid email address. Example: moconnell@example.com

+
+
+ password   +string  +   + +
+

Example: est

+
+
+ + + + +
+
+
+ + + +
+
+
+ + diff --git a/Backend/public/docs/js/theme-default-4.39.0.js b/Backend/public/docs/js/theme-default-4.39.0.js new file mode 100644 index 0000000..31c8451 --- /dev/null +++ b/Backend/public/docs/js/theme-default-4.39.0.js @@ -0,0 +1,149 @@ +document.addEventListener('DOMContentLoaded', function() { + const updateHash = function (id) { + window.location.hash = `#${id}`; + }; + + const navButton = document.getElementById('nav-button'); + const menuWrapper = document.querySelector('.tocify-wrapper'); + function toggleSidebar(event) { + event.preventDefault(); + if (menuWrapper) { + menuWrapper.classList.toggle('open'); + navButton.classList.toggle('open'); + } + } + function closeSidebar() { + if (menuWrapper) { + menuWrapper.classList.remove('open'); + navButton.classList.remove('open'); + } + } + navButton.addEventListener('click', toggleSidebar); + + window.hljs.highlightAll(); + + const wrapper = document.getElementById('toc'); + // https://jets.js.org/ + window.jets = new window.Jets({ + // *OR - Selects elements whose values contains at least one part of search substring + searchSelector: '*OR', + searchTag: '#input-search', + contentTag: '#toc li', + didSearch: function(term) { + wrapper.classList.toggle('jets-searching', String(term).length > 0) + }, + // map these accent keys to plain values + diacriticsMap: { + a: 'ÀÁÂÃÄÅàáâãäåĀāąĄ', + c: 'ÇçćĆčČ', + d: 'đĐďĎ', + e: 'ÈÉÊËèéêëěĚĒēęĘ', + i: 'ÌÍÎÏìíîïĪī', + l: 'łŁ', + n: 'ÑñňŇńŃ', + o: 'ÒÓÔÕÕÖØòóôõöøŌō', + r: 'řŘ', + s: 'ŠšśŚ', + t: 'ťŤ', + u: 'ÙÚÛÜùúûüůŮŪū', + y: 'ŸÿýÝ', + z: 'ŽžżŻźŹ' + } + }); + + function hashChange() { + const currentItems = document.querySelectorAll('.tocify-subheader.visible, .tocify-item.tocify-focus'); + Array.from(currentItems).forEach((elem) => { + elem.classList.remove('visible', 'tocify-focus'); + }); + + const currentTag = document.querySelector(`a[href="${window.location.hash}"]`); + if (currentTag) { + const parent = currentTag.closest('.tocify-subheader'); + if (parent) { + parent.classList.add('visible'); + } + + const siblings = currentTag.closest('.tocify-header'); + if (siblings) { + Array.from(siblings.querySelectorAll('.tocify-subheader')).forEach((elem) => { + elem.classList.add('visible'); + }); + } + + currentTag.parentElement.classList.add('tocify-focus'); + + // wait for dom changes to be done + setTimeout(() => { + currentTag.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' }); + // only close the sidebar on level-2 events + if (currentTag.parentElement.classList.contains('level-2')) { + closeSidebar(); + } + }, 1500); + } + } + + let languages = JSON.parse(document.body.getAttribute('data-languages')); + // Support a key => value object where the key is the name, or an array of strings where the value is the name + if (!Array.isArray(languages)) { + languages = Object.values(languages); + } + // if there is no language use the first one + const currentLanguage = window.localStorage.getItem('language') || languages[0]; + const languageStyle = document.getElementById('language-style'); + const langSelector = document.querySelectorAll('.lang-selector button.lang-button'); + + function setActiveLanguage(newLanguage) { + window.localStorage.setItem('language', newLanguage); + if (!languageStyle) { + return; + } + + const newStyle = languages.map((language) => { + return language === newLanguage + // the current one should be visible + ? `body .content .${language}-example pre { display: block; }` + // the inactive one should be hidden + : `body .content .${language}-example pre { display: none; }`; + }).join(`\n`); + + Array.from(langSelector).forEach((elem) => { + elem.classList.toggle('active', elem.getAttribute('data-language-name') === newLanguage); + }); + + const activeHash = window.location.hash.slice(1); + + languageStyle.innerHTML = newStyle; + + setTimeout(() => { + updateHash(activeHash); + }, 200); + } + + setActiveLanguage(currentLanguage); + + Array.from(langSelector).forEach((elem) => { + elem.addEventListener('click', () => { + const newLanguage = elem.getAttribute('data-language-name'); + setActiveLanguage(newLanguage); + }); + }); + + window.addEventListener('hashchange', hashChange, false); + + const divs = document.querySelectorAll('.content h1[id], .content h2[id]'); + + document.addEventListener('scroll', () => { + divs.forEach(item => { + const rect = item.getBoundingClientRect(); + if (rect.top > 0 && rect.top < 150) { + const location = window.location.toString().split('#')[0]; + history.replaceState(null, null, location + '#' + item.id); + hashChange(); + } + }); + }); + + hashChange(); +}); diff --git a/Backend/public/docs/js/tryitout-4.39.0.js b/Backend/public/docs/js/tryitout-4.39.0.js new file mode 100644 index 0000000..2a1d2b8 --- /dev/null +++ b/Backend/public/docs/js/tryitout-4.39.0.js @@ -0,0 +1,289 @@ +window.abortControllers = {}; + +function cacheAuthValue() { + // Whenever the auth header is set for one endpoint, cache it for the others + window.lastAuthValue = ''; + let authInputs = document.querySelectorAll(`.auth-value`) + authInputs.forEach(el => { + el.addEventListener('input', (event) => { + window.lastAuthValue = event.target.value; + authInputs.forEach(otherInput => { + if (otherInput === el) return; + // Don't block the main thread + setTimeout(() => { + otherInput.value = window.lastAuthValue; + }, 0); + }); + }); + }); +} + +window.addEventListener('DOMContentLoaded', cacheAuthValue); + +function getCookie(name) { + if (!document.cookie) { + return null; + } + + const cookies = document.cookie.split(';') + .map(c => c.trim()) + .filter(c => c.startsWith(name + '=')); + + if (cookies.length === 0) { + return null; + } + + return decodeURIComponent(cookies[0].split('=')[1]); +} + +function tryItOut(endpointId) { + document.querySelector(`#btn-tryout-${endpointId}`).hidden = true; + document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = false; + const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`).hidden = false; + executeBtn.disabled = false; + + // Show all input fields + document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`) + .forEach(el => el.style.display = 'block'); + + if (document.querySelector(`#form-${endpointId}`).dataset.authed === "1") { + const authElement = document.querySelector(`#auth-${endpointId}`); + authElement && (authElement.hidden = false); + } + // Expand all nested fields + document.querySelectorAll(`#form-${endpointId} details`) + .forEach(el => el.open = true); +} + +function cancelTryOut(endpointId) { + if (window.abortControllers[endpointId]) { + window.abortControllers[endpointId].abort(); + delete window.abortControllers[endpointId]; + } + + document.querySelector(`#btn-tryout-${endpointId}`).hidden = false; + const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`); + executeBtn.hidden = true; + executeBtn.textContent = executeBtn.dataset.initialText; + document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = true; + // Hide inputs + document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`) + .forEach(el => el.style.display = 'none'); + document.querySelectorAll(`#form-${endpointId} details`) + .forEach(el => el.open = false); + const authElement = document.querySelector(`#auth-${endpointId}`); + authElement && (authElement.hidden = true); + + document.querySelector('#execution-results-' + endpointId).hidden = true; + document.querySelector('#execution-error-' + endpointId).hidden = true; + + // Revert to sample code blocks + document.querySelector('#example-requests-' + endpointId).hidden = false; + document.querySelector('#example-responses-' + endpointId).hidden = false; +} + +function makeAPICall(method, path, body = {}, query = {}, headers = {}, endpointId = null) { + console.log({endpointId, path, body, query, headers}); + + if (!(body instanceof FormData) && typeof body !== "string") { + body = JSON.stringify(body) + } + + const url = new URL(window.tryItOutBaseUrl + '/' + path.replace(/^\//, '')); + + // We need this function because if you try to set an array or object directly to a URLSearchParams object, + // you'll get [object Object] or the array.toString() + function addItemToSearchParamsObject(key, value, searchParams) { + if (Array.isArray(value)) { + value.forEach((v, i) => { + // Append {filters: [first, second]} as filters[0]=first&filters[1]second + addItemToSearchParamsObject(key + '[' + i + ']', v, searchParams); + }) + } else if (typeof value === 'object' && value !== null) { + Object.keys(value).forEach((i) => { + // Append {filters: {name: first}} as filters[name]=first + addItemToSearchParamsObject(key + '[' + i + ']', value[i], searchParams); + }); + } else { + searchParams.append(key, value); + } + } + + Object.keys(query) + .forEach(key => addItemToSearchParamsObject(key, query[key], url.searchParams)); + + window.abortControllers[endpointId] = new AbortController(); + + return fetch(url, { + method, + headers, + body: method === 'GET' ? undefined : body, + signal: window.abortControllers[endpointId].signal, + referrer: window.tryItOutBaseUrl, + mode: 'cors', + credentials: 'same-origin', + }) + .then(response => Promise.all([response.status, response.statusText, response.text(), response.headers])); +} + +function hideCodeSamples(endpointId) { + document.querySelector('#example-requests-' + endpointId).hidden = true; + document.querySelector('#example-responses-' + endpointId).hidden = true; +} + +function handleResponse(endpointId, response, status, headers) { + hideCodeSamples(endpointId); + + // Hide error views + document.querySelector('#execution-error-' + endpointId).hidden = true; + + const responseContentEl = document.querySelector('#execution-response-content-' + endpointId); + + // Check if the response contains Laravel's dd() default dump output + const isLaravelDump = response.includes('Sfdump'); + + // If it's a Laravel dd() dump, use innerHTML to render it safely + if (isLaravelDump) { + responseContentEl.innerHTML = response === '' ? responseContentEl.dataset.emptyResponseText : response; + } else { + // Otherwise, stick to textContent for regular responses + responseContentEl.textContent = response === '' ? responseContentEl.dataset.emptyResponseText : response; + } + + // Prettify it if it's JSON + let isJson = false; + try { + const jsonParsed = JSON.parse(response); + if (jsonParsed !== null) { + isJson = true; + response = JSON.stringify(jsonParsed, null, 4); + responseContentEl.textContent = response; + } + } catch (e) { + + } + + isJson && window.hljs.highlightElement(responseContentEl); + const statusEl = document.querySelector('#execution-response-status-' + endpointId); + statusEl.textContent = ` (${status})`; + document.querySelector('#execution-results-' + endpointId).hidden = false; + statusEl.scrollIntoView({behavior: "smooth", block: "center"}); +} + +function handleError(endpointId, err) { + hideCodeSamples(endpointId); + // Hide response views + document.querySelector('#execution-results-' + endpointId).hidden = true; + + // Show error views + let errorMessage = err.message || err; + const $errorMessageEl = document.querySelector('#execution-error-message-' + endpointId); + $errorMessageEl.textContent = errorMessage + $errorMessageEl.textContent; + const errorEl = document.querySelector('#execution-error-' + endpointId); + errorEl.hidden = false; + errorEl.scrollIntoView({behavior: "smooth", block: "center"}); + +} + +async function executeTryOut(endpointId, form) { + const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`); + executeBtn.textContent = executeBtn.dataset.loadingText; + executeBtn.disabled = true; + executeBtn.scrollIntoView({behavior: "smooth", block: "center"}); + + let body; + let setter; + if (form.dataset.hasfiles === "1") { + body = new FormData(); + setter = (name, value) => body.append(name, value); + } else if (form.dataset.isarraybody === "1") { + body = []; + setter = (name, value) => _.set(body, name, value); + } else { + body = {}; + setter = (name, value) => _.set(body, name, value); + } + const bodyParameters = form.querySelectorAll('input[data-component=body]'); + bodyParameters.forEach(el => { + let value = el.value; + + if (el.type === 'number' && typeof value === 'string') { + value = parseFloat(value); + } + + if (el.type === 'file' && el.files[0]) { + setter(el.name, el.files[0]); + return; + } + + if (el.type !== 'radio') { + if (value === "" && el.required === false) { + // Don't include empty optional values in the request + return; + } + setter(el.name, value); + return; + } + + if (el.checked) { + value = (value === 'false') ? false : true; + setter(el.name, value); + } + }); + + const query = {}; + const queryParameters = form.querySelectorAll('input[data-component=query]'); + queryParameters.forEach(el => { + if (el.type !== 'radio' || (el.type === 'radio' && el.checked)) { + if (el.value === '') { + // Don't include empty values in the request + return; + } + + _.set(query, el.name, el.value); + } + }); + + let path = form.dataset.path; + const urlParameters = form.querySelectorAll('input[data-component=url]'); + urlParameters.forEach(el => (path = path.replace(new RegExp(`\\{${el.name}\\??}`), el.value))); + + const headers = Object.fromEntries(Array.from(form.querySelectorAll('input[data-component=header]')) + .map(el => [el.name, el.value])); + + // When using FormData, the browser sets the correct content-type + boundary + let method = form.dataset.method; + if (body instanceof FormData) { + delete headers['Content-Type']; + + // When using FormData with PUT or PATCH, use method spoofing so PHP can access the post body + if (['PUT', 'PATCH'].includes(form.dataset.method)) { + method = 'POST'; + setter('_method', form.dataset.method); + } + } + + let preflightPromise = Promise.resolve(); + if (window.useCsrf && window.csrfUrl) { + preflightPromise = makeAPICall('GET', window.csrfUrl).then(() => { + headers['X-XSRF-TOKEN'] = getCookie('XSRF-TOKEN'); + }); + } + + return preflightPromise.then(() => makeAPICall(method, path, body, query, headers, endpointId)) + .then(([responseStatus, statusText, responseContent, responseHeaders]) => { + handleResponse(endpointId, responseContent, responseStatus, responseHeaders) + }) + .catch(err => { + if (err.name === "AbortError") { + console.log("Request cancelled"); + return; + } + console.log("Error while making request: ", err); + handleError(endpointId, err); + }) + .finally(() => { + executeBtn.disabled = false; + executeBtn.textContent = executeBtn.dataset.initialText; + }); +} diff --git a/Backend/public/docs/openapi.yaml b/Backend/public/docs/openapi.yaml new file mode 100644 index 0000000..d62ca3d --- /dev/null +++ b/Backend/public/docs/openapi.yaml @@ -0,0 +1,1416 @@ +openapi: 3.0.3 +info: + title: 'Kebab Api' + description: '' + version: 1.0.0 +servers: + - + url: 'https://sponge-climbing-adder.ngrok-free.app/api/documentation' +paths: + /api/register: + post: + summary: '' + operationId: postApiRegister + description: '' + parameters: [] + responses: { } + tags: + - Auth + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: '' + example: aspernatur + nullable: false + email: + type: string + description: 'Must be a valid email address.' + example: jamison69@example.org + nullable: false + password: + type: string + description: '' + example: ut + nullable: false + required: + - name + - email + - password + security: [] + /api/login: + post: + summary: '' + operationId: postApiLogin + description: '' + parameters: [] + responses: { } + tags: + - Auth + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + email: + type: string + description: 'Must be a valid email address. The email of an existing record in the users table.' + example: kamryn22@example.com + nullable: false + password: + type: string + description: '' + example: at + nullable: false + required: + - email + - password + security: [] + /api/logout: + post: + summary: '' + operationId: postApiLogout + description: '' + parameters: [] + responses: { } + tags: + - Auth + security: [] + /api/documentation: + get: + summary: '' + operationId: getApiDocumentation + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/documentation could not be found.' + properties: + message: + type: string + example: 'The route api/documentation could not be found.' + tags: + - Endpoints + security: [] + /api/kebabs: + get: + summary: '' + operationId: getApiKebabs + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/kebabs could not be found.' + properties: + message: + type: string + example: 'The route api/kebabs could not be found.' + tags: + - Kebab + security: [] + '/api/kebabs/{kebabId}/comments': + post: + summary: '' + operationId: postApiKebabsKebabIdComments + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + id_user: + type: integer + description: '' + example: 7 + nullable: false + comment: + type: string + description: '' + example: itaque + nullable: false + required: + - id_user + - comment + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdComments + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + id_user: + type: integer + description: '' + example: 18 + nullable: false + comment: + type: string + description: '' + example: deserunt + nullable: false + required: + - id_user + - comment + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: unde + required: true + schema: + type: string + /api/addKebab: + post: + summary: '' + operationId: postApiAddKebab + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + logo: + type: string + description: '' + example: ut + nullable: false + name: + type: string + description: '' + example: perferendis + nullable: false + address: + type: string + description: '' + example: vel + nullable: false + coordinates: + type: string + description: '' + example: nisi + nullable: false + sauces: + type: string + description: '' + example: at + nullable: false + meats: + type: string + description: '' + example: ullam + nullable: false + status: + type: string + description: '' + example: perferendis + nullable: false + opening_hours: + type: string + description: '' + example: perspiciatis + nullable: false + opening_year: + type: string + description: '' + example: deleniti + nullable: false + closing_year: + type: string + description: '' + example: accusantium + nullable: false + is_crafted: + type: string + description: '' + example: placeat + nullable: false + is_premises: + type: string + description: '' + example: minus + nullable: false + is_chainstore: + type: string + description: '' + example: aut + nullable: false + ordering_options: + type: string + description: '' + example: voluptas + nullable: false + required: + - logo + - name + - address + - coordinates + - sauces + - meats + - status + - opening_hours + - opening_year + - closing_year + - is_crafted + - is_premises + - is_chainstore + - ordering_options + security: [] + '/api/kebabs/{id}': + delete: + summary: '' + operationId: deleteApiKebabsId + description: '' + parameters: [] + responses: { } + tags: + - Kebab + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the kebab.' + example: adipisci + required: true + schema: + type: string + '/api/kebabs/{kebabId}/logo': + put: + summary: '' + operationId: putApiKebabsKebabIdLogo + description: '' + parameters: [] + responses: { } + tags: + - Kebab + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: quia + required: true + schema: + type: string + '/api/kebabs/{kebabId}/name': + put: + summary: '' + operationId: putApiKebabsKebabIdName + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: '' + example: quidem + nullable: false + required: + - name + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: consequuntur + required: true + schema: + type: string + '/api/kebabs/{kebabId}/address': + put: + summary: '' + operationId: putApiKebabsKebabIdAddress + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + address: + type: string + description: 'Must not be greater than 255 characters.' + example: huxswcermiukedcsywurinn + nullable: false + required: + - address + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: ab + required: true + schema: + type: string + '/api/kebabs/{kebabId}/coordinates': + put: + summary: '' + operationId: putApiKebabsKebabIdCoordinates + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + coordinates: + type: object + description: '' + example: [] + nullable: false + properties: { } + required: + - coordinates + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: eaque + required: true + schema: + type: string + '/api/kebabs/{kebabId}/sauce': + post: + summary: '' + operationId: postApiKebabsKebabIdSauce + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + sauce: + type: string + description: '' + example: nostrum + nullable: false + required: + - sauce + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdSauce + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + sauce: + type: string + description: '' + example: dolore + nullable: false + required: + - sauce + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: laboriosam + required: true + schema: + type: string + '/api/kebabs/{kebabId}/meat': + post: + summary: '' + operationId: postApiKebabsKebabIdMeat + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + meat: + type: string + description: '' + example: voluptatibus + nullable: false + required: + - meat + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdMeat + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + meat: + type: string + description: '' + example: eos + nullable: false + required: + - meat + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: facere + required: true + schema: + type: string + '/api/kebabs/{kebabId}/status': + put: + summary: '' + operationId: putApiKebabsKebabIdStatus + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + status: + type: string + description: '' + example: exists + nullable: false + enum: + - exists + - closed + - planned + required: + - status + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: quas + required: true + schema: + type: string + '/api/kebabs/{kebabId}/opening-hours': + post: + summary: '' + operationId: postApiKebabsKebabIdOpeningHours + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + day: + type: string + description: '' + example: saturday + nullable: false + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + hours: + type: string + description: '' + example: quis + nullable: false + required: + - day + - hours + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdOpeningHours + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + day: + type: string + description: '' + example: monday + nullable: false + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - day + security: [] + put: + summary: '' + operationId: putApiKebabsKebabIdOpeningHours + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + day: + type: string + description: '' + example: sunday + nullable: false + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + hours: + type: string + description: '' + example: explicabo + nullable: false + required: + - day + - hours + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: est + required: true + schema: + type: string + '/api/kebabs/{kebabId}/opening-year': + put: + summary: '' + operationId: putApiKebabsKebabIdOpeningYear + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + opening_year: + type: string + description: 'Must be 4 digits.' + example: '6167' + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: recusandae + required: true + schema: + type: string + '/api/kebabs/{kebabId}/closing-year': + put: + summary: '' + operationId: putApiKebabsKebabIdClosingYear + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + closing_year: + type: string + description: 'Must be 4 digits.' + example: '2621' + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: voluptatem + required: true + schema: + type: string + '/api/kebabs/{kebabId}/is-crafted': + put: + summary: '' + operationId: putApiKebabsKebabIdIsCrafted + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + is_crafted: + type: boolean + description: '' + example: true + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: vel + required: true + schema: + type: string + '/api/kebabs/{kebabId}/is-premises': + put: + summary: '' + operationId: putApiKebabsKebabIdIsPremises + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + is_premises: + type: boolean + description: '' + example: false + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: laudantium + required: true + schema: + type: string + '/api/kebabs/{kebabId}/is-chainstore': + put: + summary: '' + operationId: putApiKebabsKebabIdIsChainstore + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: false + content: + application/json: + schema: + type: object + properties: + is_chainstore: + type: boolean + description: '' + example: false + nullable: true + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: ea + required: true + schema: + type: string + '/api/kebabs/{kebabId}/ordering-options': + post: + summary: '' + operationId: postApiKebabsKebabIdOrderingOptions + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + new_option: + type: string + description: '' + example: nesciunt + nullable: false + required: + - new_option + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdOrderingOptions + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + option_to_remove: + type: string + description: '' + example: est + nullable: false + required: + - option_to_remove + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: reprehenderit + required: true + schema: + type: string + '/api/kebabs/{kebabId}/pages': + post: + summary: '' + operationId: postApiKebabsKebabIdPages + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + new_page: + type: string + description: '' + example: explicabo + nullable: false + required: + - new_page + security: [] + delete: + summary: '' + operationId: deleteApiKebabsKebabIdPages + description: '' + parameters: [] + responses: { } + tags: + - Kebab + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + page_to_remove: + type: string + description: '' + example: corporis + nullable: false + required: + - page_to_remove + security: [] + parameters: + - + in: path + name: kebabId + description: '' + example: consectetur + required: true + schema: + type: string + /api/scrape-reviews: + get: + summary: '' + operationId: getApiScrapeReviews + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/scrape-reviews could not be found.' + properties: + message: + type: string + example: 'The route api/scrape-reviews could not be found.' + tags: + - KebabScraper + security: [] + /api/suggestions: + post: + summary: '' + operationId: postApiSuggestions + description: '' + parameters: [] + responses: { } + tags: + - Suggestions + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + user: + type: string + description: 'Must not be greater than 255 characters.' + example: yhyrnmamtgxprtslmownvg + nullable: false + contents: + type: string + description: 'Must not be greater than 255 characters.' + example: vmtnljhahaj + nullable: false + required: + - user + - contents + security: [] + get: + summary: '' + operationId: getApiSuggestions + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/suggestions could not be found.' + properties: + message: + type: string + example: 'The route api/suggestions could not be found.' + tags: + - Suggestions + security: [] + '/api/suggestions/{id}': + delete: + summary: '' + operationId: deleteApiSuggestionsId + description: '' + parameters: [] + responses: { } + tags: + - Suggestions + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the suggestion.' + example: magni + required: true + schema: + type: string + /api/getCurrentUser: + get: + summary: '' + operationId: getApiGetCurrentUser + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/getCurrentUser could not be found.' + properties: + message: + type: string + example: 'The route api/getCurrentUser could not be found.' + tags: + - Users + security: [] + '/api/fav/{id}': + get: + summary: '' + operationId: getApiFavId + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/fav/veritatis could not be found.' + properties: + message: + type: string + example: 'The route api/fav/veritatis could not be found.' + tags: + - Users + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the fav.' + example: veritatis + required: true + schema: + type: string + /api/addfav: + post: + summary: '' + operationId: postApiAddfav + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + user_id: + type: string + description: '' + example: eum + nullable: false + kebab_id: + type: string + description: '' + example: quia + nullable: false + required: + - user_id + - kebab_id + security: [] + /api/remfav: + post: + summary: '' + operationId: postApiRemfav + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + user_id: + type: string + description: '' + example: quas + nullable: false + kebab_id: + type: string + description: '' + example: quia + nullable: false + required: + - user_id + - kebab_id + security: [] + '/api/changeName/{id}': + put: + summary: '' + operationId: putApiChangeNameId + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + newName: + type: string + description: '' + example: nobis + nullable: false + required: + - newName + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changeName.' + example: facilis + required: true + schema: + type: string + '/api/changePassword/{id}': + put: + summary: '' + operationId: putApiChangePasswordId + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + newPassword: + type: string + description: '' + example: quas + nullable: false + confirmPassword: + type: string + description: '' + example: rerum + nullable: false + required: + - newPassword + - confirmPassword + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changePassword.' + example: laborum + required: true + schema: + type: string + '/api/changeEmail/{id}': + put: + summary: '' + operationId: putApiChangeEmailId + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + newEmail: + type: string + description: 'Must be a valid email address.' + example: shanie84@example.org + nullable: false + required: + - newEmail + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changeEmail.' + example: commodi + required: true + schema: + type: string + '/api/changeUserRole/{id}': + put: + summary: '' + operationId: putApiChangeUserRoleId + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + isAdmin: + type: boolean + description: '' + example: false + nullable: false + required: + - isAdmin + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the changeUserRole.' + example: atque + required: true + schema: + type: string + '/api/deleteUser/{id}': + delete: + summary: '' + operationId: deleteApiDeleteUserId + description: '' + parameters: [] + responses: { } + tags: + - Users + security: [] + parameters: + - + in: path + name: id + description: 'The ID of the deleteUser.' + example: ut + required: true + schema: + type: string + /api/getAllUsers: + get: + summary: '' + operationId: getApiGetAllUsers + description: '' + parameters: [] + responses: + 404: + description: '' + content: + application/json: + schema: + type: object + example: + message: 'The route api/getAllUsers could not be found.' + properties: + message: + type: string + example: 'The route api/getAllUsers could not be found.' + tags: + - Users + security: [] + /api/addNewUser: + post: + summary: '' + operationId: postApiAddNewUser + description: '' + parameters: [] + responses: { } + tags: + - Users + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: '' + example: ut + nullable: false + email: + type: string + description: 'Must be a valid email address.' + example: moconnell@example.com + nullable: false + password: + type: string + description: '' + example: est + nullable: false + required: + - name + - email + - password + security: [] +tags: + - + name: Auth + description: '*' + - + name: Endpoints + description: '' + - + name: Kebab + description: '*' + - + name: KebabScraper + description: '*' + - + name: Suggestions + description: '*' + - + name: Users + description: '*' +components: + securitySchemes: + default: + type: http + scheme: bearer + description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' +security: + - + default: [] diff --git a/Backend/resources/views/vendor/l5-swagger/.gitkeep b/Backend/resources/views/vendor/l5-swagger/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Backend/resources/views/vendor/l5-swagger/index.blade.php b/Backend/resources/views/vendor/l5-swagger/index.blade.php new file mode 100644 index 0000000..cc9cc7c --- /dev/null +++ b/Backend/resources/views/vendor/l5-swagger/index.blade.php @@ -0,0 +1,164 @@ + + + + + {{config('l5-swagger.documentations.'.$documentation.'.api.title')}} + + + + + @if(config('l5-swagger.defaults.ui.display.dark_mode')) + + @endif + + + +
+ + + + + + diff --git a/Backend/routes/api.php b/Backend/routes/api.php index 89f8d5c..c3f7806 100644 --- a/Backend/routes/api.php +++ b/Backend/routes/api.php @@ -4,6 +4,7 @@ use App\Http\Controllers\AuthController; use App\Http\Controllers\KebabController; +use App\Http\Controllers\KebabScraperController; use App\Http\Controllers\SuggestionsController; use App\Http\Controllers\UserController; use Illuminate\Support\Facades\Route; @@ -22,6 +23,8 @@ Route::post("/register", [AuthController::class, "register"]); Route::post("/login", [AuthController::class, "login"]); Route::get("/kebabs", [KebabController::class, "getAllKebabs"]); +Route::get("/comments/{id}", [KebabController::class, "GetComments"]); +Route::get("/scrape-reviews", [KebabScraperController::class, "scrapeAllReviews"]); Route::middleware("auth:sanctum")->group(function (): void { Route::post("/logout", [AuthController::class, "logout"]); @@ -33,10 +36,14 @@ Route::put("/changePassword/{id}", [UserController::class, "changePassword"]); Route::put("/changeEmail/{id}", [UserController::class, "changeEmail"]); Route::post("/suggestions", [SuggestionsController::class, "createSuggestion"]); - Route::get("/suggestions", [SuggestionsController::class, "showAllSuggestions"]); + Route::post("/kebabs/{kebabId}/comments", [KebabController::class, "addComment"]); + Route::delete("/kebabs/{kebabId}/comments", [KebabController::class, "removeComment"]); }); +Route::get("/documentation", fn() => view("vendor.scribe.index")); + Route::middleware(["auth:sanctum", "admin"])->group(function (): void { + Route::put("/changeUserRole/{id}", [UserController::class, "changeUserRole"]); Route::delete("/deleteUser/{id}", [UserController::class, "deleteUser"]); Route::get("/getAllUsers", [UserController::class, "getAllUsers"]); Route::post("/addNewUser", [UserController::class, "addNewUser"]); @@ -61,9 +68,10 @@ Route::put("/kebabs/{kebabId}/is-chainstore", [KebabController::class, "updateIsChainstore"]); Route::post("/kebabs/{kebabId}/ordering-options", [KebabController::class, "addOrderingOption"]); Route::delete("/kebabs/{kebabId}/ordering-options", [KebabController::class, "removeOrderingOption"]); - Route::post("/kebabs/{kebabId}/comments", [KebabController::class, "addComment"]); - Route::delete("/kebabs/{kebabId}/comments", [KebabController::class, "removeComment"]); Route::put("/kebabs/{kebabId}/google-reviews", [KebabController::class, "updateGoogleReviews"]); Route::put("/kebabs/{kebabId}/pysznepl-reviews", [KebabController::class, "updatePyszneplReviews"]); + Route::post("/kebabs/{kebabId}/pages", [KebabController::class, "addPage"]); + Route::delete("/kebabs/{kebabId}/pages", [KebabController::class, "removePage"]); + Route::get("/suggestions", [SuggestionsController::class, "showAllSuggestions"]); Route::delete("/suggestions/{id}", [SuggestionsController::class, "destroySuggestion"]); }); diff --git a/Backend/routes/web.php b/Backend/routes/web.php index 21a2f90..ffeef0a 100644 --- a/Backend/routes/web.php +++ b/Backend/routes/web.php @@ -15,4 +15,4 @@ | */ -Route::get("/", fn() => view("welcome")); +Route::get("/api/documentation", fn() => file_get_contents(public_path("docs/index.html"))); diff --git a/Backend/storage/api-docs/api-docs.json b/Backend/storage/api-docs/api-docs.json new file mode 100644 index 0000000..668dd93 --- /dev/null +++ b/Backend/storage/api-docs/api-docs.json @@ -0,0 +1,274 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "KebabApp API", + "description": "API for managing kebab stores", + "termsOfService": "http://example.com/terms", + "contact": { + "email": "support@example.com" + }, + "license": { + "name": "MIT", + "url": "https://opensource.org/licenses/MIT" + }, + "version": "1.0.0" + }, + "servers": [ + { + "url": "http://localhost/api", + "description": "Local Development Server" + } + ], + "paths": { + "/api/register": { + "post": { + "tags": [ + "Auth" + ], + "summary": "Register a new user", + "operationId": "8a56853624e025573120a09a4c75d468", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "name", + "email", + "password" + ], + "properties": { + "name": { + "type": "string", + "example": "John Doe" + }, + "email": { + "type": "string", + "example": "johndoe@example.com" + }, + "password": { + "type": "string", + "format": "password", + "example": "password123" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "User registered successfully", + "content": { + "application/json": { + "schema": { + "properties": { + "user": { + "$ref": "#/components/schemas/User" + }, + "token": { + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "400": { + "description": "Invalid input" + } + } + } + }, + "/api/login": { + "post": { + "tags": [ + "Auth" + ], + "summary": "Login an existing user", + "operationId": "a3b306d14572d1f4bd6c064b3233e7b8", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "email", + "password" + ], + "properties": { + "email": { + "type": "string", + "example": "johndoe@example.com" + }, + "password": { + "type": "string", + "format": "password", + "example": "password123" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "User logged in successfully", + "content": { + "application/json": { + "schema": { + "properties": { + "user": { + "$ref": "#/components/schemas/User" + }, + "token": { + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "400": { + "description": "Invalid credentials" + } + } + } + }, + "/api/logout": { + "post": { + "tags": [ + "Auth" + ], + "summary": "Logout the current user", + "operationId": "fe8f3429cd6979b3b4517e186505f9f9", + "responses": { + "204": { + "description": "Successfully logged out" + }, + "401": { + "description": "Unauthorized" + } + } + } + } + }, + "components": { + "schemas": { + "KebabRequest": { + "required": [ + "logo", + "name", + "address", + "coordinates", + "sauces", + "meats", + "status", + "opening_hours", + "opening_year", + "closing_year", + "is_crafted", + "is_premises", + "is_chainstore", + "ordering_options" + ], + "properties": { + "logo": { + "description": "Logo of the kebab store", + "type": "string" + }, + "name": { + "description": "Name of the kebab store", + "type": "string" + }, + "address": { + "description": "Address of the kebab store", + "type": "string" + }, + "coordinates": { + "description": "Coordinates of the kebab store", + "type": "string" + }, + "sauces": { + "description": "List of sauces available", + "type": "string" + }, + "meats": { + "description": "List of meats available", + "type": "string" + }, + "status": { + "description": "Status of the store", + "type": "string" + }, + "opening_hours": { + "description": "Opening hours of the store", + "type": "string" + }, + "opening_year": { + "description": "Year the store opened", + "type": "integer" + }, + "closing_year": { + "description": "Year the store closed", + "type": "integer" + }, + "is_crafted": { + "description": "Whether the store is crafted", + "type": "boolean" + }, + "is_premises": { + "description": "Whether the store is a premises", + "type": "boolean" + }, + "is_chainstore": { + "description": "Whether the store is part of a chain", + "type": "boolean" + }, + "ordering_options": { + "description": "Ordering options available", + "type": "string" + } + }, + "type": "object" + }, + "User": { + "required": [ + "id", + "name", + "email", + "isAdmin" + ], + "properties": { + "id": { + "description": "User ID", + "type": "integer" + }, + "name": { + "description": "User's name", + "type": "string" + }, + "email": { + "description": "User's email", + "type": "string" + }, + "isAdmin": { + "description": "User's admin status", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "tags": [ + { + "name": "Auth", + "description": "Authentication related endpoints" + } + ] +} \ No newline at end of file From 5dd6a7a3b0d211e438e3f33ac82a73a81ee4a3da Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Tue, 14 Jan 2025 23:45:06 +0100 Subject: [PATCH 16/17] . --- frontend/package-lock.json | 5729 +++++++++++++++++++----------------- frontend/package.json | 10 +- 2 files changed, 2997 insertions(+), 2742 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8f2b66b..1b252d8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,10 +8,14 @@ "name": "kebab_city_tour", "version": "0.1.0", "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.7.1", + "@fortawesome/free-regular-svg-icons": "^6.7.2", + "@fortawesome/free-solid-svg-icons": "^6.7.1", + "@fortawesome/react-fontawesome": "^0.2.2", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "axios": "^1.7.7", + "axios": "^1.7.9", "leaflet": "^1.9.4", "prop-types": "^15.8.1", "react": "^18.3.1", @@ -23,7 +27,9 @@ }, "devDependencies": { "@eslint/js": "^9.14.0", - "eslint": "^9.14.0", + "cypress": "^13.8.0", + "eslint": "^9.18.0", + "eslint-plugin-cypress": "^4.1.0", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^5.0.0", "globals": "^15.12.0", @@ -34,16 +40,14 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", - "license": "MIT" + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.1.tgz", + "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -55,7 +59,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -68,7 +71,6 @@ "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", @@ -79,10 +81,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", - "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "engines": { "node": ">=6.9.0" } @@ -91,7 +92,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.0", @@ -117,11 +117,18 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/eslint-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz", - "integrity": "sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.5.tgz", + "integrity": "sha512-Kkm8C8uxI842AwQADxl0GbcG1rupELYLShazYEZO/2DYjhyWXJIOUVOE3tBYm6JXzUCNJOZEzqc4rCW/jsEQYQ==", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -139,19 +146,25 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "license": "Apache-2.0", "engines": { "node": ">=10" } }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", - "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dependencies": { - "@babel/parser": "^7.26.2", - "@babel/types": "^7.26.0", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -164,21 +177,7 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", - "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", - "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" }, "engines": { @@ -186,12 +185,11 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dependencies": { - "@babel/compat-data": "^7.25.9", + "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -201,11 +199,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-member-expression-to-functions": "^7.25.9", @@ -222,14 +227,21 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", - "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", - "regexpu-core": "^6.1.1", + "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, "engines": { @@ -239,11 +251,18 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", - "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -256,18 +275,20 @@ } }, "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -276,7 +297,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", - "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -289,7 +309,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -302,7 +321,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", @@ -319,7 +337,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", - "license": "MIT", "dependencies": { "@babel/types": "^7.25.9" }, @@ -328,10 +345,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "engines": { "node": ">=6.9.0" } @@ -340,7 +356,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-wrap-function": "^7.25.9", @@ -354,14 +369,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", - "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.25.9", "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/traverse": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -370,24 +384,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", - "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", - "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -400,7 +400,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -409,7 +408,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -418,7 +416,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -427,7 +424,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", - "license": "MIT", "dependencies": { "@babel/template": "^7.25.9", "@babel/traverse": "^7.25.9", @@ -441,7 +437,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "license": "MIT", "dependencies": { "@babel/template": "^7.25.9", "@babel/types": "^7.26.0" @@ -451,12 +446,11 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", - "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dependencies": { - "@babel/types": "^7.26.0" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -469,7 +463,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/traverse": "^7.25.9" @@ -485,7 +478,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -500,7 +492,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -515,7 +506,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", @@ -532,7 +522,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/traverse": "^7.25.9" @@ -549,7 +538,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -565,7 +553,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", @@ -583,7 +570,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -600,7 +586,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -617,7 +602,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -635,7 +619,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -651,7 +634,6 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "license": "MIT", "engines": { "node": ">=6.9.0" }, @@ -663,7 +645,6 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -675,7 +656,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -687,7 +667,6 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -699,7 +678,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -714,7 +692,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -729,7 +706,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -744,7 +720,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -759,7 +734,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -774,7 +748,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -786,7 +759,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -798,7 +770,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -813,7 +784,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -825,7 +795,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -837,7 +806,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -849,7 +817,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -861,7 +828,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -873,7 +839,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -885,7 +850,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -900,7 +864,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -915,7 +878,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -930,7 +892,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -946,7 +907,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -961,7 +921,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-remap-async-to-generator": "^7.25.9", @@ -978,7 +937,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", @@ -992,12 +950,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", - "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1010,7 +967,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1025,7 +981,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1041,7 +996,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1057,7 +1011,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-compilation-targets": "^7.25.9", @@ -1077,7 +1030,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", "engines": { "node": ">=4" } @@ -1086,7 +1038,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/template": "^7.25.9" @@ -1102,7 +1053,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1117,7 +1067,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1133,7 +1082,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1148,7 +1096,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1164,7 +1111,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1176,12 +1122,10 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", - "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { @@ -1195,7 +1139,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1207,13 +1150,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", - "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.26.5.tgz", + "integrity": "sha512-eGK26RsbIkYUns3Y8qKl362juDDYK+wEdPGHGrhzUl6CewZFo55VZ7hg+CyMFU4dd5QQakBN86nBMpRsFpRvbQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-syntax-flow": "^7.25.9" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-flow": "^7.26.0" }, "engines": { "node": ">=6.9.0" @@ -1226,7 +1168,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" @@ -1242,7 +1183,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", - "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", @@ -1259,7 +1199,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1274,7 +1213,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1289,7 +1227,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1304,7 +1241,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1319,7 +1255,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1332,14 +1267,12 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", - "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-simple-access": "^7.25.9" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1352,7 +1285,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", @@ -1370,7 +1302,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1386,7 +1317,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1402,7 +1332,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1414,12 +1343,11 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", - "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.5.tgz", + "integrity": "sha512-OHqczNm4NTQlW1ghrVY43FPoiRzbmzNVbcgVnMKZN/RQYezHUSdjACjaX50CD3B7UIAjv39+MlsrVDb3v741FA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1432,7 +1360,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1447,7 +1374,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", - "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", @@ -1464,7 +1390,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-replace-supers": "^7.25.9" @@ -1480,7 +1405,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1495,7 +1419,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" @@ -1511,7 +1434,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1526,7 +1448,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1542,7 +1463,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-create-class-features-plugin": "^7.25.9", @@ -1559,7 +1479,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1574,7 +1493,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1589,7 +1507,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1604,7 +1521,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-module-imports": "^7.25.9", @@ -1623,7 +1539,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", - "license": "MIT", "dependencies": { "@babel/plugin-transform-react-jsx": "^7.25.9" }, @@ -1638,7 +1553,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1654,7 +1568,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" @@ -1670,7 +1583,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1686,7 +1598,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1701,7 +1612,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", @@ -1717,11 +1627,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1736,7 +1653,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" @@ -1752,7 +1668,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1767,7 +1682,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1782,7 +1696,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1794,14 +1707,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", - "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.5.tgz", + "integrity": "sha512-GJhPO0y8SD5EYVCy2Zr+9dSZcEgaSmq5BLR0Oc25TOEhC+ba49vUAGZFjy8v79z9E1mdldq4x9d1xgh4L1d5dQ==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9" }, @@ -1816,7 +1728,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -1831,7 +1742,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1847,7 +1757,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1863,7 +1772,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9" @@ -1879,7 +1787,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", - "license": "MIT", "dependencies": { "@babel/compat-data": "^7.26.0", "@babel/helper-compilation-targets": "^7.25.9", @@ -1958,11 +1865,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -1973,10 +1887,9 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", - "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", - "license": "MIT", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.26.3.tgz", + "integrity": "sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-validator-option": "^7.25.9", @@ -1996,7 +1909,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-validator-option": "^7.25.9", @@ -2015,7 +1927,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2027,7 +1938,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.25.9", "@babel/parser": "^7.25.9", @@ -2038,16 +1948,15 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", - "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", + "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/parser": "^7.25.9", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.5", "@babel/template": "^7.25.9", - "@babel/types": "^7.25.9", + "@babel/types": "^7.26.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2059,16 +1968,14 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", - "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", - "license": "MIT", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" @@ -2080,20 +1987,27 @@ "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "license": "MIT" + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", - "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", - "license": "CC0-1.0" + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" }, "node_modules/@csstools/postcss-cascade-layers": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -2113,7 +2027,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2133,7 +2046,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2152,7 +2064,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2171,7 +2082,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2191,7 +2101,6 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -2211,7 +2120,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2230,7 +2138,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2249,7 +2156,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2269,7 +2175,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2284,7 +2189,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2303,7 +2207,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2322,7 +2225,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2341,7 +2243,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -2357,7 +2258,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "license": "CC0-1.0", "engines": { "node": "^14 || ^16 || >=18" }, @@ -2369,11 +2269,58 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@cypress/request": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.7.tgz", + "integrity": "sha512-LzxlLEMbBOPYB85uXrDqvD4MgcenjRBLIns3zyhx7vTPj/0u2eQhzXvPiGcaJrV38Q9dbkExWp6cOHPJ+EtFYg==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~4.0.0", + "http-signature": "~1.4.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.13.1", + "safe-buffer": "^5.1.2", + "tough-cookie": "^5.0.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" }, @@ -2391,7 +2338,6 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2403,18 +2349,16 @@ "version": "4.12.1", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", - "license": "Apache-2.0", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", "dependencies": { - "@eslint/object-schema": "^2.1.4", + "@eslint/object-schema": "^2.1.5", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -2423,19 +2367,20 @@ } }, "node_modules/@eslint/core": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", - "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", - "license": "Apache-2.0", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", - "license": "MIT", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2458,7 +2403,6 @@ "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "license": "MIT", "engines": { "node": ">=18" }, @@ -2467,40 +2411,90 @@ } }, "node_modules/@eslint/js": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", - "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", - "license": "MIT", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", + "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", - "license": "Apache-2.0", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", - "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", - "license": "Apache-2.0", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", "dependencies": { + "@eslint/core": "^0.10.0", "levn": "^0.4.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", + "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", + "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.2.tgz", + "integrity": "sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz", + "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "license": "Apache-2.0", "engines": { "node": ">=18.18.0" } @@ -2509,7 +2503,6 @@ "version": "0.16.6", "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" @@ -2522,7 +2515,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -2536,7 +2528,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", - "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", @@ -2550,7 +2541,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -2563,14 +2553,12 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "license": "BSD-3-Clause" + "deprecated": "Use @eslint/object-schema instead" }, "node_modules/@humanwhocodes/retry": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -2583,7 +2571,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -2600,7 +2587,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", "engines": { "node": ">=12" }, @@ -2612,7 +2598,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", "engines": { "node": ">=12" }, @@ -2623,14 +2608,12 @@ "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -2647,7 +2630,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2662,7 +2644,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -2679,7 +2660,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2695,7 +2675,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -2704,7 +2683,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "license": "MIT", "engines": { "node": ">=6" } @@ -2713,7 +2691,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2726,7 +2703,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2739,7 +2715,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -2751,7 +2726,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2766,7 +2740,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -2778,7 +2751,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", "engines": { "node": ">=8" } @@ -2787,7 +2759,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "license": "MIT", "engines": { "node": ">=8" } @@ -2796,7 +2767,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2813,7 +2783,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2829,16 +2798,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/@jest/console/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/console/node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -2858,7 +2839,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2875,7 +2855,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", @@ -2922,7 +2901,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -2938,16 +2916,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/@jest/core/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/core/node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -2967,7 +2957,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -2984,7 +2973,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "license": "MIT", "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -2999,7 +2987,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3015,7 +3002,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -3024,7 +3010,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -3036,7 +3021,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -3053,7 +3037,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3069,16 +3052,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/@jest/fake-timers/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/fake-timers/node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -3098,7 +3093,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -3115,7 +3109,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", @@ -3129,7 +3122,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3145,7 +3137,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -3154,7 +3145,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -3163,7 +3153,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -3178,7 +3167,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -3193,7 +3181,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -3202,7 +3189,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -3217,7 +3203,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -3237,7 +3222,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -3281,7 +3265,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3297,16 +3280,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/@jest/reporters/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/reporters/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -3323,7 +3318,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3332,7 +3326,6 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -3344,7 +3337,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "license": "MIT", "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -3358,7 +3350,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3367,7 +3358,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/types": "^27.5.1", @@ -3382,7 +3372,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3398,7 +3387,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -3407,7 +3395,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -3422,7 +3409,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "license": "MIT", "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", @@ -3448,7 +3434,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -3464,22 +3449,33 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/@jest/transform/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/@jest/transform/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -3496,7 +3492,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3505,7 +3500,6 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -3519,10 +3513,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "license": "MIT", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3536,7 +3529,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3545,7 +3537,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -3554,7 +3545,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -3563,14 +3553,12 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3579,14 +3567,12 @@ "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "license": "MIT" + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "license": "MIT", "dependencies": { "eslint-scope": "5.1.1" } @@ -3595,7 +3581,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -3608,7 +3593,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3617,7 +3601,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3630,7 +3613,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", "engines": { "node": ">= 8" } @@ -3639,7 +3621,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -3652,7 +3633,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -3662,7 +3642,6 @@ "version": "0.5.15", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", - "license": "MIT", "dependencies": { "ansi-html": "^0.0.9", "core-js-pure": "^3.23.3", @@ -3710,7 +3689,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-2.1.0.tgz", "integrity": "sha512-Qk7Pfu8BSarKGqILj4x7bCSZ1pjuAPZ+qmRwH5S7mDS91VSbVVsJSrW4qA+GPrro8t69gFYVMWb1Zc4yFmPiVg==", - "license": "Hippocratic-2.1", "peerDependencies": { "leaflet": "^1.9.0", "react": "^18.0.0", @@ -3722,7 +3700,6 @@ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -3731,7 +3708,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -3754,7 +3730,6 @@ "version": "11.2.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -3771,18 +3746,20 @@ } }, "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3791,7 +3768,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" @@ -3804,7 +3780,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "license": "MIT", "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -3820,32 +3795,27 @@ "node_modules/@rollup/pluginutils/node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "license": "MIT" + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "license": "MIT" + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" }, "node_modules/@rushstack/eslint-patch": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", - "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", - "license": "MIT" + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.5.tgz", + "integrity": "sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "license": "MIT" + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" }, "node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -3854,7 +3824,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -3863,7 +3832,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "license": "Apache-2.0", "dependencies": { "ejs": "^3.1.6", "json5": "^2.2.0", @@ -3875,7 +3843,6 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3888,7 +3855,6 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3901,7 +3867,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3914,7 +3879,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3927,7 +3891,6 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3940,7 +3903,6 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3953,7 +3915,6 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3966,7 +3927,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -3979,7 +3939,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", @@ -4002,7 +3961,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "license": "MIT", "dependencies": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", @@ -4020,7 +3978,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "license": "MIT", "dependencies": { "@babel/types": "^7.12.6" }, @@ -4036,7 +3993,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", @@ -4055,7 +4011,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", @@ -4073,7 +4028,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "license": "MIT", "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", @@ -4096,7 +4050,6 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", @@ -4116,7 +4069,6 @@ "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", - "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.0.1", "@babel/runtime": "^7.9.2", @@ -4138,7 +4090,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4151,7 +4102,6 @@ "version": "13.4.0", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^8.5.0", @@ -4169,7 +4119,6 @@ "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -4188,7 +4137,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "license": "Apache-2.0", "dependencies": { "deep-equal": "^2.0.5" } @@ -4197,7 +4145,6 @@ "version": "13.5.0", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -4213,7 +4160,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "license": "MIT", "engines": { "node": ">= 6" } @@ -4222,7 +4168,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -4230,14 +4175,12 @@ "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "license": "MIT" + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -4250,7 +4193,6 @@ "version": "7.6.8", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } @@ -4259,7 +4201,6 @@ "version": "7.4.4", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -4269,7 +4210,6 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } @@ -4278,7 +4218,6 @@ "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -4288,7 +4227,6 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4297,7 +4235,6 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4306,7 +4243,6 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -4316,7 +4252,6 @@ "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -4326,7 +4261,6 @@ "version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -4335,14 +4269,12 @@ "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "license": "MIT" + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/express": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4351,10 +4283,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", - "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", - "license": "MIT", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.4.tgz", + "integrity": "sha512-5kz9ScmzBdzTgB/3susoCgfqNDzBjvLL4taparufgSvlwjdLy6UyUy9T/tCpYd2GIdIilCatC4iSQS0QSYHt0w==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4366,7 +4297,6 @@ "version": "4.19.6", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4378,7 +4308,6 @@ "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4386,20 +4315,17 @@ "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "license": "MIT" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "license": "MIT" + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/http-proxy": { "version": "1.17.15", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4407,14 +4333,12 @@ "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "license": "MIT" + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -4423,7 +4347,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } @@ -4432,7 +4355,6 @@ "version": "29.5.14", "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", - "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -4442,7 +4364,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -4454,7 +4375,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4467,41 +4387,35 @@ "node_modules/@types/jest/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "license": "MIT" + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", - "license": "MIT", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", + "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~6.20.0" } }, "node_modules/@types/node-forge": { "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4509,63 +4423,56 @@ "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "node_modules/@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "license": "MIT" + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" }, "node_modules/@types/prop-types": { - "version": "15.7.13", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", - "license": "MIT" + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "peer": true }, "node_modules/@types/q": { "version": "1.5.8", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", - "license": "MIT" + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "node_modules/@types/qs": { "version": "6.9.17", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", - "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", - "license": "MIT" + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.3.12", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", - "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", - "license": "MIT", + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*" + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "peerDependencies": { + "@types/react": "^18.0.0" } }, "node_modules/@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4573,20 +4480,17 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "license": "MIT" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "license": "MIT" + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -4596,7 +4500,6 @@ "version": "1.9.4", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "license": "MIT", "dependencies": { "@types/express": "*" } @@ -4605,18 +4508,28 @@ "version": "1.15.7", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "*" } }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.9.tgz", + "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==", + "dev": true + }, "node_modules/@types/sockjs": { "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4624,14 +4537,12 @@ "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "license": "MIT" + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.9", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", - "license": "MIT", "dependencies": { "@types/jest": "*" } @@ -4639,14 +4550,12 @@ "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT" + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/@types/ws": { "version": "8.5.13", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4655,7 +4564,6 @@ "version": "17.0.33", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -4663,25 +4571,33 @@ "node_modules/@types/yargs-parser": { "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "license": "MIT" + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz", - "integrity": "sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", + "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.14.0", - "@typescript-eslint/type-utils": "8.14.0", - "@typescript-eslint/utils": "8.14.0", - "@typescript-eslint/visitor-keys": "8.14.0", + "@typescript-eslint/scope-manager": "8.19.1", + "@typescript-eslint/type-utils": "8.19.1", + "@typescript-eslint/utils": "8.19.1", + "@typescript-eslint/visitor-keys": "8.19.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4692,25 +4608,20 @@ }, "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.14.0.tgz", - "integrity": "sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz", + "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.14.0", - "@typescript-eslint/types": "8.14.0", - "@typescript-eslint/typescript-estree": "8.14.0", - "@typescript-eslint/visitor-keys": "8.14.0", + "@typescript-eslint/scope-manager": "8.19.1", + "@typescript-eslint/types": "8.19.1", + "@typescript-eslint/typescript-estree": "8.19.1", + "@typescript-eslint/visitor-keys": "8.19.1", "debug": "^4.3.4" }, "engines": { @@ -4721,23 +4632,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz", - "integrity": "sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", + "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.14.0", - "@typescript-eslint/visitor-keys": "8.14.0" + "@typescript-eslint/types": "8.19.1", + "@typescript-eslint/visitor-keys": "8.19.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4748,16 +4654,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz", - "integrity": "sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", + "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.14.0", - "@typescript-eslint/utils": "8.14.0", + "@typescript-eslint/typescript-estree": "8.19.1", + "@typescript-eslint/utils": "8.19.1", "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4766,18 +4671,16 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.14.0.tgz", - "integrity": "sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz", + "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -4787,20 +4690,19 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz", - "integrity": "sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", + "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.14.0", - "@typescript-eslint/visitor-keys": "8.14.0", + "@typescript-eslint/types": "8.19.1", + "@typescript-eslint/visitor-keys": "8.19.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4809,10 +4711,8 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { @@ -4820,7 +4720,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -4830,7 +4729,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4841,30 +4739,16 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.14.0.tgz", - "integrity": "sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz", + "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.14.0", - "@typescript-eslint/types": "8.14.0", - "@typescript-eslint/typescript-estree": "8.14.0" + "@typescript-eslint/scope-manager": "8.19.1", + "@typescript-eslint/types": "8.19.1", + "@typescript-eslint/typescript-estree": "8.19.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4874,18 +4758,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz", - "integrity": "sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", + "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.14.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.19.1", + "eslint-visitor-keys": "^4.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4895,30 +4779,15 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "license": "ISC" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==" }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2" @@ -4927,26 +4796,22 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "license": "MIT" + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "license": "MIT" + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "license": "MIT" + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.13.2", "@webassemblyjs/helper-api-error": "1.13.2", @@ -4956,14 +4821,12 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "license": "MIT" + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", @@ -4975,7 +4838,6 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -4984,7 +4846,6 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } @@ -4992,14 +4853,12 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "license": "MIT" + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", @@ -5015,7 +4874,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", @@ -5028,7 +4886,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", @@ -5040,7 +4897,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-api-error": "1.13.2", @@ -5054,7 +4910,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" @@ -5063,27 +4918,23 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "license": "BSD-3-Clause" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "license": "Apache-2.0" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "license": "BSD-3-Clause" + "deprecated": "Use your platform's native atob() and btoa() methods instead" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -5096,7 +4947,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5105,7 +4955,6 @@ "version": "8.14.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5117,7 +4966,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "license": "MIT", "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -5127,7 +4975,6 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5139,7 +4986,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -5148,7 +4994,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -5157,7 +5002,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -5166,7 +5010,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -5179,7 +5022,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", "dependencies": { "debug": "4" }, @@ -5187,11 +5029,23 @@ "node": ">= 6.0.0" } }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5207,7 +5061,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -5224,7 +5077,6 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5239,23 +5091,29 @@ "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -5273,7 +5131,6 @@ "engines": [ "node >= 0.8.0" ], - "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5285,7 +5142,6 @@ "engines": [ "node >= 0.8.0" ], - "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5294,7 +5150,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", "engines": { "node": ">=8" } @@ -5303,7 +5158,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5317,14 +5171,12 @@ "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "license": "MIT" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5333,35 +5185,51 @@ "node": ">= 8" } }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -5373,14 +5241,12 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-includes": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5400,7 +5266,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", "engines": { "node": ">=8" } @@ -5409,7 +5274,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5429,7 +5293,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5446,15 +5309,14 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "license": "MIT", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5464,15 +5326,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "license": "MIT", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5485,7 +5346,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5506,7 +5366,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -5519,19 +5378,17 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -5543,32 +5400,54 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "license": "MIT" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "license": "MIT" + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "license": "MIT" + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", "engines": { "node": ">= 4.0.0" } @@ -5591,7 +5470,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", @@ -5614,7 +5492,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -5625,45 +5502,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "dev": true + }, "node_modules/axe-core": { "version": "4.10.2", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", - "license": "MPL-2.0", "engines": { "node": ">=4" } }, "node_modules/axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", - "license": "MIT", + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "license": "Apache-2.0", "engines": { "node": ">= 0.4" } @@ -5672,7 +5547,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "license": "MIT", "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -5694,7 +5568,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -5710,7 +5583,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -5719,7 +5591,6 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", - "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.4", @@ -5738,7 +5609,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -5756,7 +5626,6 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -5772,7 +5641,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -5787,7 +5655,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -5799,18 +5666,20 @@ } }, "node_modules/babel-plugin-macros/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5819,7 +5688,6 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "license": "MIT", "peerDependencies": { "@babel/core": "^7.1.0" } @@ -5828,7 +5696,6 @@ "version": "0.4.12", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", - "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.3", @@ -5838,11 +5705,18 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.10.6", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", - "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2", "core-js-compat": "^3.38.0" @@ -5855,7 +5729,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", - "license": "MIT", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.3" }, @@ -5866,14 +5739,12 @@ "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", - "license": "MIT" + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", - "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -5899,7 +5770,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -5915,7 +5785,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -5938,20 +5807,46 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "license": "MIT" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } }, "node_modules/bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", - "license": "MIT", "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", @@ -5967,7 +5862,6 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "license": "MIT", "engines": { "node": "*" } @@ -5976,7 +5870,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", "engines": { "node": ">=8" }, @@ -5984,17 +5877,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "license": "MIT" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -6018,7 +5915,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6027,7 +5923,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6038,14 +5933,26 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "license": "MIT", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -6054,14 +5961,12 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6071,7 +5976,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -6082,13 +5986,12 @@ "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "license": "BSD-2-Clause" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -6103,11 +6006,10 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { @@ -6121,22 +6023,52 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtin-modules": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "license": "MIT", "engines": { "node": ">=6" }, @@ -6148,22 +6080,55 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -6176,7 +6141,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -6185,7 +6149,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -6195,7 +6158,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -6207,7 +6169,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "license": "MIT", "engines": { "node": ">= 6" } @@ -6216,7 +6177,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -6225,9 +6185,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001680", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", - "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "version": "1.0.30001692", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", + "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", "funding": [ { "type": "opencollective", @@ -6241,23 +6201,26 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6273,22 +6236,28 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "license": "MIT", "engines": { "node": ">=10" } }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", - "license": "MIT" + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -6312,7 +6281,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -6324,22 +6292,21 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", + "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", + "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } @@ -6347,14 +6314,12 @@ "node_modules/cjs-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", - "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", - "license": "MIT" + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -6366,27 +6331,76 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", "engines": { "node": ">=6" } @@ -6395,7 +6409,6 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -6405,7 +6418,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "license": "MIT", "dependencies": { "@types/q": "^1.5.1", "chalk": "^2.4.1", @@ -6419,7 +6431,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -6431,7 +6442,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -6445,7 +6455,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -6453,14 +6462,12 @@ "node_modules/coa/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/coa/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -6469,7 +6476,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", "engines": { "node": ">=4" } @@ -6478,7 +6484,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -6489,14 +6494,12 @@ "node_modules/collect-v8-coverage": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "license": "MIT" + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -6507,26 +6510,22 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "license": "MIT" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -6535,19 +6534,18 @@ } }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, "engines": { - "node": ">= 12" + "node": ">= 6" } }, "node_modules/common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "license": "MIT", "engines": { "node": ">=4.0.0" } @@ -6555,14 +6553,12 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "license": "MIT" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -6574,7 +6570,6 @@ "version": "1.7.5", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", - "license": "MIT", "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", @@ -6592,7 +6587,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6600,26 +6594,22 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "license": "MIT" + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "license": "MIT", "engines": { "node": ">=0.8" } @@ -6628,7 +6618,6 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -6640,7 +6629,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6648,14 +6636,12 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -6663,27 +6649,24 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/core-js": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", - "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", "hasInstallScript": true, - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-js-compat": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", - "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", - "license": "MIT", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", + "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", "dependencies": { - "browserslist": "^4.24.2" + "browserslist": "^4.24.3" }, "funding": { "type": "opencollective", @@ -6691,27 +6674,24 @@ } }, "node_modules/core-js-pure": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", - "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.40.0.tgz", + "integrity": "sha512-AtDzVIgRrmRKQai62yuSIN5vNiQjcJakJb4fbhVw3ehxx7Lohphvw9SGNWKhLFqSxC4ilD0g/L1huAYFQU3Q6A==", "hasInstallScript": true, - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -6724,10 +6704,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", - "license": "MIT", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6741,7 +6720,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "license": "MIT", "engines": { "node": ">=8" } @@ -6750,7 +6728,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6768,7 +6745,6 @@ "version": "6.4.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "license": "ISC", "engines": { "node": "^10 || ^12 || >=14" }, @@ -6780,7 +6756,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -6798,7 +6773,6 @@ "version": "6.11.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", - "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -6829,23 +6803,10 @@ } } }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "license": "MIT", "dependencies": { "cssnano": "^5.0.6", "jest-worker": "^27.0.2", @@ -6883,7 +6844,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6892,7 +6852,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "license": "CC0-1.0", "bin": { "css-prefers-color-scheme": "dist/cli.cjs" }, @@ -6907,7 +6866,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -6922,14 +6880,12 @@ "node_modules/css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "license": "MIT" + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "license": "MIT", "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -6942,7 +6898,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6951,7 +6906,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -6962,8 +6916,7 @@ "node_modules/css.escape": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "license": "MIT" + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" }, "node_modules/cssdb": { "version": "7.11.2", @@ -6978,14 +6931,12 @@ "type": "github", "url": "https://github.com/sponsors/csstools" } - ], - "license": "CC0-1.0" + ] }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -6997,7 +6948,6 @@ "version": "5.1.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "license": "MIT", "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -7018,7 +6968,6 @@ "version": "5.2.14", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "license": "MIT", "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -7061,7 +7010,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -7073,7 +7021,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "license": "MIT", "dependencies": { "css-tree": "^1.1.2" }, @@ -7085,7 +7032,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -7097,14 +7043,12 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "license": "CC0-1.0" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, "node_modules/csso/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7112,14 +7056,12 @@ "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "license": "MIT" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -7130,26 +7072,114 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "license": "MIT" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" + "peer": true + }, + "node_modules/cypress": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.17.0.tgz", + "integrity": "sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^3.0.6", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "ci-info": "^4.0.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.3", + "tree-kill": "1.2.2", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + } + }, + "node_modules/cypress/node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/cypress/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "license": "BSD-2-Clause" + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "license": "MIT", "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -7160,14 +7190,13 @@ } }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7177,29 +7206,27 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "license": "MIT", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -7210,11 +7237,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true + }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dependencies": { "ms": "^2.1.3" }, @@ -7230,20 +7262,17 @@ "node_modules/decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "license": "MIT" + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "license": "MIT" + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, "node_modules/deep-equal": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -7274,14 +7303,12 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "license": "MIT" + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7290,7 +7317,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -7298,11 +7324,51 @@ "node": ">= 10" } }, + "node_modules/default-gateway/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -7319,7 +7385,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", "engines": { "node": ">=8" } @@ -7328,7 +7393,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -7345,7 +7409,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -7354,7 +7417,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -7363,7 +7425,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", "engines": { "node": ">=6" } @@ -7372,7 +7433,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -7382,7 +7442,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "license": "MIT", "engines": { "node": ">=8" } @@ -7390,14 +7449,12 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "license": "MIT" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "license": "MIT", "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -7414,7 +7471,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7422,20 +7478,17 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "license": "Apache-2.0" + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -7444,7 +7497,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -7455,14 +7507,12 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -7474,7 +7524,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -7485,14 +7534,12 @@ "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "license": "MIT" + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -7501,7 +7548,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -7520,15 +7566,13 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ], - "license": "BSD-2-Clause" + ] }, "node_modules/domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "deprecated": "Use your platform's native DOMException instead", - "license": "MIT", "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -7540,7 +7584,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "license": "BSD-2-Clause", "engines": { "node": ">=8" } @@ -7549,7 +7592,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -7564,7 +7606,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -7578,7 +7619,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -7588,7 +7628,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "license": "BSD-2-Clause", "engines": { "node": ">=10" } @@ -7596,32 +7635,50 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "license": "BSD-2-Clause" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -7633,16 +7690,14 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.56", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.56.tgz", - "integrity": "sha512-7lXb9dAvimCFdvUMTyucD4mnIndt/xhRKFAlky0CyFogdnNmdPQNoHI23msF/2V4mpTxMzgMdjK4+YRlFlRQZw==", - "license": "ISC" + "version": "1.5.80", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.80.tgz", + "integrity": "sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==" }, "node_modules/emittery": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -7653,14 +7708,12 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "license": "MIT", "engines": { "node": ">= 4" } @@ -7669,16 +7722,23 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "license": "MIT", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", + "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7687,11 +7747,23 @@ "node": ">=10.13.0" } }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -7700,7 +7772,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } @@ -7709,63 +7780,66 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } }, "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "license": "MIT", + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" }, "engines": { "node": ">= 0.4" @@ -7777,17 +7851,12 @@ "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "license": "MIT" + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "engines": { "node": ">= 0.4" } @@ -7796,7 +7865,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", "engines": { "node": ">= 0.4" } @@ -7805,7 +7873,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -7822,42 +7889,40 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", - "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", + "get-intrinsic": "^1.2.6", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.3", - "safe-array-concat": "^1.1.2" + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "license": "MIT" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==" }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -7866,14 +7931,14 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "license": "MIT", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -7883,20 +7948,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "license": "MIT", "dependencies": { "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "license": "MIT", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -7909,7 +7972,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", "engines": { "node": ">=6" } @@ -7917,14 +7979,12 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -7936,7 +7996,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -7957,33 +8016,31 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/eslint": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", - "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", - "license": "MIT", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", + "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.7.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.14.0", - "@eslint/plugin-kit": "^0.2.0", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.18.0", + "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.0", + "@humanwhocodes/retry": "^0.4.1", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.2.0", @@ -8002,8 +8059,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -8027,7 +8083,6 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -8038,24 +8093,25 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8064,7 +8120,6 @@ "version": "2.12.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -8081,16 +8136,26 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, + "node_modules/eslint-plugin-cypress": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-4.1.0.tgz", + "integrity": "sha512-JhqkMY02mw74USwK9OFhectx3YSj6Co1NgWBxlGdKvlqiAp9vdEuQqt33DKGQFvvGS/NWtduuhWXWNnU29xDSg==", + "dev": true, + "dependencies": { + "globals": "^15.11.0" + }, + "peerDependencies": { + "eslint": ">=9" + } + }, "node_modules/eslint-plugin-import": { "version": "2.31.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -8123,16 +8188,22 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "license": "MIT", "dependencies": { "aria-query": "^5.3.2", "array-includes": "^3.1.8", @@ -8161,7 +8232,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", "engines": { "node": ">= 0.4" } @@ -8169,32 +8239,30 @@ "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/eslint-plugin-react": { - "version": "7.37.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", - "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", - "license": "MIT", + "version": "7.37.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.3.tgz", + "integrity": "sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.2", + "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.1.0", + "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11", + "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "engines": { @@ -8205,11 +8273,10 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", - "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8217,11 +8284,18 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/eslint-scope": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -8237,7 +8311,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -8249,7 +8322,6 @@ "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", @@ -8266,7 +8338,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -8279,7 +8350,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -8291,7 +8361,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -8303,7 +8372,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -8311,14 +8379,12 @@ "node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "license": "MIT" + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -8327,40 +8393,43 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" }, "engines": { @@ -8370,6 +8439,18 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -8382,7 +8463,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -8395,10 +8475,9 @@ } }, "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", - "license": "MIT", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -8419,7 +8498,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -8434,13 +8513,16 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8448,26 +8530,72 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -8477,7 +8605,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -8488,26 +8615,32 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "license": "MIT" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", - "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", - "license": "BSD-3-Clause" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.5.tgz", + "integrity": "sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", "dependencies": { "reusify": "^1.0.4" } @@ -8516,7 +8649,6 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -8528,16 +8660,47 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" }, @@ -8549,7 +8712,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -8569,7 +8731,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -8587,7 +8748,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } @@ -8596,7 +8756,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -8605,7 +8764,6 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8617,7 +8775,6 @@ "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "license": "BSD-3-Clause", "engines": { "node": ">= 0.4.0" } @@ -8626,7 +8783,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8638,7 +8794,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -8656,7 +8811,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8664,14 +8818,12 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -8688,7 +8840,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -8704,7 +8855,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -8714,10 +8864,9 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "license": "ISC" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==" }, "node_modules/follow-redirects": { "version": "1.15.9", @@ -8729,7 +8878,6 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -8743,7 +8891,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -8752,7 +8899,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -8768,7 +8914,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", "engines": { "node": ">=14" }, @@ -8776,11 +8921,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -8819,7 +8972,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -8831,26 +8983,10 @@ "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -8864,32 +9000,18 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/form-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", - "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", - "license": "MIT", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -8903,7 +9025,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8912,7 +9033,6 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", "engines": { "node": "*" }, @@ -8925,43 +9045,39 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "license": "MIT", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" } }, "node_modules/fs-monkey": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", - "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", - "license": "Unlicense" + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -8974,21 +9090,21 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "license": "MIT", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -9001,7 +9117,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9010,7 +9125,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -9019,22 +9133,25 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9046,39 +9163,51 @@ "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "license": "ISC" + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "license": "MIT", "engines": { "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dependencies": { - "call-bind": "^1.0.5", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -9087,12 +9216,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9112,7 +9258,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -9123,14 +9268,27 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "license": "BSD-2-Clause" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "license": "MIT", "dependencies": { "global-prefix": "^3.0.0" }, @@ -9142,7 +9300,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "license": "MIT", "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -9152,11 +9309,15 @@ "node": ">=6" } }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -9165,11 +9326,10 @@ } }, "node_modules/globals": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", - "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -9181,7 +9341,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -9197,7 +9356,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -9214,12 +9372,11 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9228,20 +9385,17 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "license": "MIT" + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -9255,20 +9409,20 @@ "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "license": "MIT" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, "node_modules/harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "license": "(Apache-2.0 OR MPL-1.1)" + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9277,7 +9431,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", "engines": { "node": ">=8" } @@ -9286,7 +9439,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -9295,10 +9447,12 @@ } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dependencies": { + "dunder-proto": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -9307,10 +9461,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "engines": { "node": ">= 0.4" }, @@ -9322,7 +9475,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -9337,7 +9489,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -9349,7 +9500,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", "bin": { "he": "bin/he" } @@ -9358,7 +9508,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "license": "MIT", "engines": { "node": ">= 6.0.0" } @@ -9367,7 +9516,6 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -9378,14 +9526,12 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9399,14 +9545,12 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -9415,7 +9559,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "license": "MIT", "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -9436,20 +9579,17 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } - ], - "license": "MIT" + ] }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT" + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -9466,11 +9606,18 @@ "node": ">=12" } }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, "node_modules/html-webpack-plugin": { "version": "5.6.3", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", - "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -9509,7 +9656,6 @@ "url": "https://github.com/sponsors/fb55" } ], - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -9520,14 +9666,12 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "license": "MIT" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -9540,16 +9684,14 @@ } }, "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "license": "MIT" + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz", + "integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==" }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -9563,7 +9705,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "license": "MIT", "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -9577,7 +9718,6 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", - "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -9597,11 +9737,24 @@ } } }, + "node_modules/http-signature": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -9611,19 +9764,18 @@ } }, "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=8.12.0" } }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -9635,7 +9787,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -9646,14 +9797,12 @@ "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", - "license": "ISC" + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" }, "node_modules/identity-obj-proxy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "license": "MIT", "dependencies": { "harmony-reflect": "^1.4.6" }, @@ -9661,11 +9810,30 @@ "node": ">=4" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", "engines": { "node": ">= 4" } @@ -9674,7 +9842,6 @@ "version": "9.0.21", "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/immer" @@ -9684,7 +9851,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -9700,7 +9866,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -9719,7 +9884,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -9728,7 +9892,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", "engines": { "node": ">=8" } @@ -9738,7 +9901,6 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9747,24 +9909,25 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9774,19 +9937,17 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "license": "MIT", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -9796,13 +9957,13 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "license": "MIT", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -9814,16 +9975,17 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "license": "MIT", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", + "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9833,12 +9995,14 @@ } }, "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dependencies": { - "has-bigints": "^1.0.1" + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9848,7 +10012,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -9857,13 +10020,12 @@ } }, "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -9876,7 +10038,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9885,10 +10046,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", - "license": "MIT", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dependencies": { "hasown": "^2.0.2" }, @@ -9900,11 +10060,12 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -9915,12 +10076,12 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -9933,7 +10094,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", "bin": { "is-docker": "cli.js" }, @@ -9948,18 +10108,19 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9969,7 +10130,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", "engines": { "node": ">=8" } @@ -9978,18 +10138,19 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10002,7 +10163,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -10010,11 +10170,26 @@ "node": ">=0.10.0" } }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10025,37 +10200,23 @@ "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "license": "MIT" - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10068,7 +10229,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10077,7 +10237,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "license": "MIT", "engines": { "node": ">=8" } @@ -10086,7 +10245,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -10097,17 +10255,17 @@ "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "license": "MIT" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -10120,7 +10278,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10129,7 +10286,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "license": "MIT", "engines": { "node": ">=6" } @@ -10138,7 +10294,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10147,12 +10302,11 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -10165,7 +10319,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", "engines": { "node": ">=8" }, @@ -10174,12 +10327,12 @@ } }, "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10189,12 +10342,13 @@ } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dependencies": { - "has-symbols": "^1.0.2" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10204,12 +10358,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "license": "MIT", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -10221,14 +10374,24 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -10237,25 +10400,26 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "license": "MIT", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -10268,7 +10432,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -10279,20 +10442,23 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -10301,7 +10467,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -10313,11 +10478,18 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -10331,7 +10503,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -10342,23 +10513,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -10372,7 +10530,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10381,7 +10538,6 @@ "version": "3.1.7", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -10391,16 +10547,16 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", - "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", - "license": "MIT", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -10410,7 +10566,6 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -10425,7 +10580,6 @@ "version": "10.9.2", "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", - "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -10443,7 +10597,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -10468,7 +10621,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -10482,7 +10634,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10498,16 +10649,55 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, "node_modules/jest-circus": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -10537,7 +10727,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10553,16 +10742,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-circus/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-circus/node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10571,7 +10772,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -10586,7 +10786,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -10601,7 +10800,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10610,7 +10808,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -10625,7 +10822,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -10645,7 +10841,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10662,7 +10857,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "license": "MIT", "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -10696,7 +10890,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10712,16 +10905,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-cli/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-cli/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10738,7 +10943,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "license": "MIT", "dependencies": { "@babel/core": "^7.8.0", "@jest/test-sequencer": "^27.5.1", @@ -10781,7 +10985,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10797,16 +11000,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-config/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-config/node_modules/jest-get-type": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10815,7 +11030,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10832,7 +11046,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -10847,7 +11060,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -10859,7 +11071,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -10872,14 +11083,12 @@ "node_modules/jest-diff/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-docblock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -10891,7 +11100,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -10907,7 +11115,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10923,16 +11130,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-each/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-each/node_modules/jest-get-type": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -10941,7 +11160,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -10958,7 +11176,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -10976,7 +11193,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -10992,16 +11208,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-environment-jsdom/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-environment-jsdom/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11018,7 +11246,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -11035,7 +11262,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11051,16 +11277,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-environment-node/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-environment-node/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11077,7 +11315,6 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -11086,7 +11323,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", @@ -11112,7 +11348,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11128,16 +11363,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-haste-map/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-haste-map/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11154,7 +11401,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/source-map": "^27.5.1", @@ -11182,7 +11428,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11198,16 +11443,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-jasmine2/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-jasmine2/node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11216,7 +11473,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -11231,7 +11487,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -11246,7 +11501,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11255,7 +11509,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -11270,7 +11523,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -11290,7 +11542,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11307,7 +11558,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "license": "MIT", "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -11320,7 +11570,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11329,7 +11578,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -11344,7 +11592,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -11356,7 +11603,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11369,14 +11615,12 @@ "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -11396,7 +11640,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -11408,7 +11651,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11421,14 +11663,12 @@ "node_modules/jest-message-util/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-mock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*" @@ -11441,7 +11681,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11457,7 +11696,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -11466,7 +11704,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "license": "MIT", "engines": { "node": ">=6" }, @@ -11483,7 +11720,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11492,7 +11728,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -11513,7 +11748,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", @@ -11527,7 +11761,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11543,7 +11776,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -11552,7 +11784,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11568,16 +11799,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-resolve/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-resolve/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11591,18 +11834,20 @@ } }, "node_modules/jest-resolve/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11611,7 +11856,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "license": "MIT", "dependencies": { "@jest/console": "^27.5.1", "@jest/environment": "^27.5.1", @@ -11643,7 +11887,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11659,16 +11902,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-runner/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-runner/node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -11688,7 +11943,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11705,7 +11959,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "license": "MIT", "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -11738,7 +11991,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11754,16 +12006,69 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-runtime/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runtime/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, "node_modules/jest-runtime/node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -11783,7 +12088,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11800,7 +12104,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "license": "MIT", "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.9" @@ -11813,7 +12116,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "license": "MIT", "dependencies": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", @@ -11846,7 +12148,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -11862,16 +12163,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-snapshot/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-snapshot/node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11880,7 +12193,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -11895,7 +12207,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -11910,7 +12221,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -11919,7 +12229,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -11934,7 +12243,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -11954,7 +12262,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -11967,23 +12274,10 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -11996,11 +12290,24 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-util/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-validate": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "camelcase": "^6.2.0", @@ -12017,7 +12324,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -12033,7 +12339,6 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -12042,7 +12347,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -12051,7 +12355,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.1", "chalk": "^4.0.0", @@ -12072,7 +12375,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -12089,7 +12391,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", "engines": { "node": ">=8" } @@ -12098,7 +12399,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -12110,7 +12410,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "license": "MIT", "dependencies": { "@jest/console": "^28.1.3", "@jest/types": "^28.1.3", @@ -12125,7 +12424,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -12141,14 +12439,12 @@ "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "license": "MIT" + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" }, "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -12156,11 +12452,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/jest-watch-typeahead/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-watch-typeahead/node_modules/emittery": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "license": "MIT", "engines": { "node": ">=12" }, @@ -12172,7 +12481,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^28.1.3", @@ -12192,7 +12500,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", "engines": { "node": ">=8" } @@ -12201,7 +12508,6 @@ "version": "28.0.2", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "license": "MIT", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } @@ -12210,7 +12516,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "license": "MIT", "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -12227,7 +12532,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "license": "MIT", "dependencies": { "@jest/test-result": "^28.1.3", "@jest/types": "^28.1.3", @@ -12246,7 +12550,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -12259,7 +12562,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12271,7 +12573,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "license": "MIT", "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", @@ -12285,14 +12586,12 @@ "node_modules/jest-watch-typeahead/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", "engines": { "node": ">=12" }, @@ -12304,7 +12603,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "license": "MIT", "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" @@ -12317,10 +12615,9 @@ } }, "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", - "license": "MIT", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", "engines": { "node": ">=12.20" } @@ -12329,7 +12626,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -12344,7 +12640,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", "engines": { "node": ">=12" }, @@ -12356,7 +12651,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "license": "MIT", "dependencies": { "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", @@ -12374,7 +12668,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -12390,16 +12683,28 @@ "version": "16.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, + "node_modules/jest-watcher/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/jest-watcher/node_modules/jest-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "license": "MIT", "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -12416,7 +12721,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12430,7 +12734,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -12442,10 +12745,9 @@ } }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "license": "MIT", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "bin": { "jiti": "bin/jiti.js" } @@ -12453,14 +12755,12 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -12468,11 +12768,16 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, "node_modules/jsdom": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "license": "MIT", "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -12514,11 +12819,45 @@ } } }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", + "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsdom/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "license": "MIT", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "bin": { "jsesc": "bin/jsesc" }, @@ -12529,38 +12868,38 @@ "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "license": "(AFL-2.1 OR BSD-3-Clause)" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "license": "MIT" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -12572,7 +12911,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -12584,7 +12922,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "license": "MIT", "dependencies": { "esprima": "1.2.2", "static-eval": "2.0.2", @@ -12607,16 +12944,29 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", @@ -12631,7 +12981,6 @@ "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -12640,7 +12989,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12649,7 +12997,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", "engines": { "node": ">=6" } @@ -12658,7 +13005,6 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "license": "MIT", "engines": { "node": ">= 8" } @@ -12666,14 +13012,12 @@ "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "license": "CC0-1.0" + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" }, "node_modules/language-tags": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "license": "MIT", "dependencies": { "language-subtag-registry": "^0.3.20" }, @@ -12685,23 +13029,29 @@ "version": "2.9.1", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", - "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" } }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, "node_modules/leaflet": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", - "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", - "license": "BSD-2-Clause" + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "license": "MIT", "engines": { "node": ">=6" } @@ -12710,7 +13060,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -12723,7 +13072,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "license": "MIT", "engines": { "node": ">=10" } @@ -12731,14 +13079,39 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "license": "MIT", "engines": { "node": ">=6.11.5" } @@ -12747,7 +13120,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -12761,7 +13133,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -12775,44 +13146,108 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "license": "MIT" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "license": "MIT" + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "license": "MIT" + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -12824,7 +13259,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", "dependencies": { "tslib": "^2.0.3" } @@ -12833,7 +13267,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -12842,7 +13275,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "license": "MIT", "bin": { "lz-string": "bin/bin.js" } @@ -12851,7 +13283,6 @@ "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "license": "MIT", "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -12860,7 +13291,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -12871,26 +13301,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "license": "CC0-1.0" + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12899,7 +13342,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "license": "Unlicense", "dependencies": { "fs-monkey": "^1.0.4" }, @@ -12911,7 +13353,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -12919,14 +13360,12 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", "engines": { "node": ">= 8" } @@ -12935,7 +13374,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12944,7 +13382,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -12957,7 +13394,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", "bin": { "mime": "cli.js" }, @@ -12969,7 +13405,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -12978,7 +13413,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -12990,7 +13424,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", "engines": { "node": ">=6" } @@ -12999,7 +13432,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "license": "MIT", "engines": { "node": ">=4" } @@ -13008,7 +13440,6 @@ "version": "2.9.2", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", - "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -13027,14 +13458,12 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -13046,7 +13475,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13055,7 +13483,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -13064,7 +13491,6 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -13075,14 +13501,12 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/multicast-dns": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -13095,7 +13519,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -13103,16 +13526,15 @@ } }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -13123,20 +13545,17 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "license": "MIT" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "license": "MIT" + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" }, "node_modules/negotiator": { "version": "0.6.4", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13144,14 +13563,12 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "license": "MIT" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -13161,7 +13578,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -13169,20 +13585,17 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "license": "MIT" + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "license": "MIT" + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13191,7 +13604,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13200,7 +13612,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -13212,7 +13623,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -13224,7 +13634,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -13233,16 +13642,14 @@ } }, "node_modules/nwsapi": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", - "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", - "license": "MIT" + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.16.tgz", + "integrity": "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==" }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13251,7 +13658,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "license": "MIT", "engines": { "node": ">= 6" } @@ -13260,7 +13666,6 @@ "version": "1.13.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13272,7 +13677,6 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -13288,20 +13692,20 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -13315,7 +13719,6 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13329,7 +13732,6 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13347,7 +13749,6 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", - "license": "MIT", "dependencies": { "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.7", @@ -13368,7 +13769,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -13379,12 +13779,12 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -13398,14 +13798,12 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -13417,7 +13815,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -13426,7 +13823,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", "dependencies": { "wrappy": "1" } @@ -13435,7 +13831,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -13450,7 +13845,6 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -13467,7 +13861,6 @@ "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -13480,11 +13873,32 @@ "node": ">= 0.8.0" } }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -13499,7 +13913,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -13510,11 +13923,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-retry": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -13527,7 +13954,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -13535,14 +13961,12 @@ "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -13552,7 +13976,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -13564,7 +13987,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -13581,14 +14003,12 @@ "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "license": "MIT" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -13597,7 +14017,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -13607,7 +14026,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", "engines": { "node": ">=8" } @@ -13616,7 +14034,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13625,7 +14042,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", "engines": { "node": ">=8" } @@ -13633,14 +14049,12 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -13655,41 +14069,41 @@ "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "license": "MIT" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "license": "MIT" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -13701,7 +14115,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13710,7 +14123,6 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "license": "MIT", "engines": { "node": ">= 6" } @@ -13719,7 +14131,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -13731,7 +14142,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -13744,7 +14154,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -13756,7 +14165,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -13771,7 +14179,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -13783,7 +14190,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -13795,7 +14201,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -13807,7 +14212,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -13820,7 +14224,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -13835,7 +14238,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -13847,7 +14249,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "license": "MIT", "engines": { "node": ">=4" } @@ -13856,7 +14257,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "license": "MIT", "engines": { "node": ">= 0.4" } @@ -13879,7 +14279,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", @@ -13893,7 +14292,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -13912,7 +14310,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "license": "CC0-1.0", "engines": { "node": ">=8" }, @@ -13925,7 +14322,6 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" @@ -13938,7 +14334,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13953,7 +14348,6 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13972,7 +14366,6 @@ "version": "8.0.4", "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13991,7 +14384,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14010,7 +14402,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -14028,7 +14419,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -14044,7 +14434,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14063,7 +14452,6 @@ "version": "12.1.11", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14082,7 +14470,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -14101,7 +14488,6 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -14120,7 +14506,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14132,7 +14517,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14144,7 +14528,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14156,7 +14539,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14168,7 +14550,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -14188,7 +14569,6 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14203,7 +14583,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "license": "MIT", "peerDependencies": { "postcss": "^8.1.4" } @@ -14212,7 +14591,6 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -14227,7 +14605,6 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -14242,7 +14619,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "license": "MIT", "peerDependencies": { "postcss": "^8.1.0" } @@ -14251,7 +14627,6 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -14267,7 +14642,6 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14286,7 +14660,6 @@ "version": "15.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -14300,18 +14673,20 @@ } }, "node_modules/postcss-import/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14320,7 +14695,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "license": "MIT", "peerDependencies": { "postcss": "^8.0.0" } @@ -14329,7 +14703,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -14348,7 +14721,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "license": "CC0-1.0", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -14378,7 +14750,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -14400,10 +14771,9 @@ } }, "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "license": "MIT", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "engines": { "node": ">=14" }, @@ -14412,10 +14782,9 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", - "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", - "license": "ISC", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "bin": { "yaml": "bin.mjs" }, @@ -14427,7 +14796,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "license": "MIT", "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", @@ -14445,23 +14813,10 @@ "webpack": "^5.0.0" } }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/postcss-logical": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "license": "CC0-1.0", "engines": { "node": "^12 || ^14 || >=16" }, @@ -14473,7 +14828,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -14485,7 +14839,6 @@ "version": "5.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" @@ -14501,7 +14854,6 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -14519,7 +14871,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14534,7 +14885,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "license": "MIT", "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", @@ -14551,7 +14901,6 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", @@ -14568,7 +14917,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -14583,7 +14931,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -14592,10 +14939,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", - "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", - "license": "MIT", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^7.0.0", @@ -14612,7 +14958,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14625,7 +14970,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "license": "ISC", "dependencies": { "postcss-selector-parser": "^7.0.0" }, @@ -14640,7 +14984,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14653,7 +14996,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -14678,7 +15020,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.1.1" }, @@ -14693,7 +15034,6 @@ "version": "10.2.0", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "license": "CC0-1.0", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -14713,7 +15053,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "license": "CC0-1.0", "dependencies": { "@csstools/normalize.css": "*", "postcss-browser-comments": "^4", @@ -14731,7 +15070,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "license": "MIT", "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -14743,7 +15081,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14758,7 +15095,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14773,7 +15109,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14788,7 +15123,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14803,7 +15137,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14818,7 +15151,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -14834,7 +15166,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "license": "MIT", "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" @@ -14850,7 +15181,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14875,7 +15205,6 @@ "url": "https://liberapay.com/mrcgrtz" } ], - "license": "MIT", "engines": { "node": "^12 || ^14 || >=16" }, @@ -14887,7 +15216,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "license": "MIT", "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -14903,7 +15231,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14922,7 +15249,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "license": "MIT", "peerDependencies": { "postcss": "^8" } @@ -14931,7 +15257,6 @@ "version": "7.0.5", "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "license": "CC0-1.0", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -14950,7 +15275,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "license": "CC0-1.0", "dependencies": { "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", @@ -15017,7 +15341,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "license": "CC0-1.0", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -15036,7 +15359,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" @@ -15052,7 +15374,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -15067,7 +15388,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "license": "MIT", "peerDependencies": { "postcss": "^8.0.3" } @@ -15076,7 +15396,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -15095,7 +15414,6 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -15108,7 +15426,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" @@ -15124,7 +15441,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", "engines": { "node": ">= 10" } @@ -15133,7 +15449,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "license": "MIT", "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -15145,14 +15460,12 @@ "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "license": "CC0-1.0" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, "node_modules/postcss-svgo/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15161,7 +15474,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -15182,7 +15494,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -15196,14 +15507,12 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -15212,7 +15521,6 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "license": "MIT", "engines": { "node": ">=6" }, @@ -15224,7 +15532,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -15234,7 +15541,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -15248,7 +15554,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -15256,17 +15561,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "license": "MIT", "dependencies": { "asap": "~2.0.6" } @@ -15275,7 +15587,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -15288,7 +15599,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -15298,14 +15608,12 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -15318,7 +15626,6 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", "engines": { "node": ">= 0.10" } @@ -15326,23 +15633,33 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "node_modules/psl": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.10.0.tgz", - "integrity": "sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==", - "license": "MIT", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", "dependencies": { "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", "engines": { "node": ">=6" } @@ -15352,17 +15669,16 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "license": "BSD-3-Clause", + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz", + "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==", + "dev": true, "dependencies": { "side-channel": "^1.0.6" }, @@ -15376,8 +15692,7 @@ "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "license": "MIT" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -15396,14 +15711,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "license": "MIT", "dependencies": { "performance-now": "^2.1.0" } @@ -15412,7 +15725,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -15421,7 +15733,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -15430,7 +15741,6 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -15445,7 +15755,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -15457,7 +15766,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -15469,7 +15777,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "license": "MIT", "dependencies": { "core-js": "^3.19.2", "object-assign": "^4.1.1", @@ -15485,14 +15792,12 @@ "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "license": "MIT" + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/react-dev-utils": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -15527,7 +15832,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", - "license": "MIT", "engines": { "node": ">= 12.13.0" } @@ -15536,7 +15840,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -15548,20 +15851,17 @@ "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", - "license": "MIT" + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT" + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/react-leaflet": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-4.2.1.tgz", "integrity": "sha512-p9chkvhcKrWn/H/1FFeVSqLdReGwn2qmiobOQGO3BifX+/vV/39qhY8dGqbdcPh1e6jxh/QHriLXr7a4eLFK4Q==", - "license": "Hippocratic-2.1", "dependencies": { "@react-leaflet/core": "^2.1.0" }, @@ -15575,17 +15875,15 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-router": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz", - "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.1.tgz", + "integrity": "sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA==", "dev": true, - "license": "MIT", "dependencies": { "@remix-run/router": "1.21.0" }, @@ -15597,14 +15895,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz", - "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.1.tgz", + "integrity": "sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ==", "dev": true, - "license": "MIT", "dependencies": { "@remix-run/router": "1.21.0", - "react-router": "6.28.0" + "react-router": "6.28.1" }, "engines": { "node": ">=14.0.0" @@ -15618,7 +15915,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", @@ -15691,7 +15987,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -15714,7 +16009,6 @@ "version": "8.57.1", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -15723,7 +16017,6 @@ "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -15733,7 +16026,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -15767,7 +16059,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", - "license": "MIT", "dependencies": { "@typescript-eslint/utils": "5.62.0" }, @@ -15786,7 +16077,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -15813,7 +16103,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -15830,7 +16119,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -15857,7 +16145,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -15870,7 +16157,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -15897,7 +16183,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -15923,7 +16208,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -15936,7 +16220,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -15945,7 +16228,6 @@ "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -15962,7 +16244,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -15975,7 +16256,6 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -16030,7 +16310,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "license": "MIT", "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -16058,7 +16337,6 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "license": "BSD-3-Clause", "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -16076,7 +16354,6 @@ "version": "25.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "license": "MIT", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -16100,7 +16377,6 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -16112,7 +16388,6 @@ "version": "5.11.1", "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", - "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -16128,7 +16403,6 @@ "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -16144,7 +16418,6 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -16156,7 +16429,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "license": "MIT", "dependencies": { "@types/eslint": "^7.29.0 || ^8.4.1", "jest-worker": "^28.0.2", @@ -16180,7 +16452,6 @@ "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -16197,7 +16468,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -16209,7 +16479,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -16219,11 +16488,23 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/react-scripts/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/react-scripts/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -16238,7 +16519,6 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16249,39 +16529,28 @@ } }, "node_modules/react-scripts/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-scripts/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/react-scripts/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16296,7 +16565,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -16308,7 +16576,6 @@ "version": "10.0.6", "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.6.tgz", "integrity": "sha512-yYjp+omCDf9lhZcrZHKbSq7YMuK0zcYkDFTzfRFgTXkTFHZ1ToxwAonzA4JI5CxA91JpjFLmwEsZEgfYfOqI1A==", - "license": "MIT", "dependencies": { "clsx": "^2.1.0" }, @@ -16321,7 +16588,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -16330,7 +16596,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -16344,7 +16609,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -16356,7 +16620,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "license": "MIT", "dependencies": { "minimatch": "^3.0.5" }, @@ -16368,7 +16631,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -16378,18 +16640,18 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", - "license": "MIT", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -16401,14 +16663,12 @@ "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "license": "MIT" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -16419,14 +16679,12 @@ "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -16434,18 +16692,18 @@ "node_modules/regex-parser": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", - "license": "MIT" + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", - "license": "MIT", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -16456,15 +16714,14 @@ } }, "node_modules/regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", - "license": "MIT", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -16475,14 +16732,12 @@ "node_modules/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "license": "MIT" + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" }, "node_modules/regjsparser": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", - "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", - "license": "BSD-2-Clause", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dependencies": { "jsesc": "~3.0.2" }, @@ -16490,11 +16745,21 @@ "regjsparser": "bin/parser" } }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "license": "MIT", "engines": { "node": ">= 0.10" } @@ -16503,7 +16768,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -16512,11 +16776,19 @@ "strip-ansi": "^6.0.1" } }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -16525,7 +16797,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -16533,14 +16804,12 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -16557,7 +16826,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -16569,7 +16837,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", "engines": { "node": ">=8" } @@ -16578,7 +16845,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", "engines": { "node": ">=4" } @@ -16587,7 +16853,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "license": "MIT", "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", @@ -16614,20 +16879,17 @@ "node_modules/resolve-url-loader/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/resolve-url-loader/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "license": "ISC" + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" @@ -16644,7 +16906,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -16653,16 +16914,27 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "license": "MIT", "engines": { "node": ">=10" } }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", "engines": { "node": ">= 4" } @@ -16671,18 +16943,22 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -16697,7 +16973,6 @@ "version": "2.79.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", - "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -16713,7 +16988,6 @@ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -16728,7 +17002,6 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16742,7 +17015,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -16765,20 +17037,28 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "license": "MIT", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -16805,18 +17085,31 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -16828,20 +17121,17 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sanitize.css": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", - "license": "CC0-1.0" + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" }, "node_modules/sass-loader": { "version": "12.6.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "license": "MIT", "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" @@ -16878,14 +17168,12 @@ "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "license": "ISC" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/saxes": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -16897,16 +17185,14 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "license": "MIT", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -16914,7 +17200,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -16925,7 +17211,6 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -16941,7 +17226,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -16952,20 +17236,17 @@ "node_modules/schema-utils/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "license": "MIT" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -16975,19 +17256,20 @@ } }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -17011,7 +17293,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -17019,14 +17300,12 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -17035,7 +17314,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -17044,7 +17322,6 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -17062,7 +17339,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -17071,7 +17347,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -17080,7 +17355,6 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -17094,26 +17368,22 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "license": "ISC" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -17122,7 +17392,6 @@ "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", @@ -17137,7 +17406,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -17154,7 +17422,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -17165,17 +17432,28 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -17187,30 +17465,81 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "license": "MIT", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -17222,20 +17551,31 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, "engines": { "node": ">=8" } @@ -17244,7 +17584,6 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -17254,14 +17593,12 @@ "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "license": "MIT" + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } @@ -17270,7 +17607,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17279,7 +17615,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "license": "MIT", "dependencies": { "abab": "^2.0.5", "iconv-lite": "^0.6.3", @@ -17300,7 +17635,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -17310,7 +17644,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17319,14 +17652,12 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "license": "MIT" + "deprecated": "Please use @jridgewell/sourcemap-codec instead" }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -17342,7 +17673,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -17355,21 +17685,43 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "license": "MIT" + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -17381,7 +17733,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "license": "MIT", "engines": { "node": ">=8" } @@ -17389,14 +17740,12 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "license": "MIT" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, "node_modules/static-eval": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "license": "MIT", "dependencies": { "escodegen": "^1.8.1" } @@ -17405,7 +17754,6 @@ "version": "1.14.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", @@ -17427,7 +17775,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -17436,7 +17783,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -17449,7 +17795,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "license": "MIT", "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -17474,7 +17819,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -17484,7 +17828,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" }, @@ -17496,18 +17839,17 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dependencies": { - "internal-slot": "^1.0.4" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -17517,7 +17859,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -17526,7 +17867,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -17538,14 +17878,12 @@ "node_modules/string-natural-compare": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", - "license": "MIT" + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -17560,7 +17898,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -17574,7 +17911,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -17585,23 +17921,23 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", - "license": "MIT", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -17614,22 +17950,23 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "license": "MIT", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -17639,15 +17976,18 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "license": "MIT", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -17656,7 +17996,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -17673,7 +18012,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -17687,7 +18025,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -17700,7 +18037,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -17712,7 +18048,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "license": "MIT", "engines": { "node": ">=8" } @@ -17721,7 +18056,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "license": "MIT", "engines": { "node": ">=10" } @@ -17730,7 +18064,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", "engines": { "node": ">=6" } @@ -17739,7 +18072,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -17751,7 +18083,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", "engines": { "node": ">=8" }, @@ -17763,7 +18094,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", - "license": "MIT", "engines": { "node": ">= 12.13.0" }, @@ -17779,7 +18109,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "license": "MIT", "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" @@ -17795,7 +18124,6 @@ "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -17817,7 +18145,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -17826,7 +18153,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "license": "MIT", "engines": { "node": ">= 6" } @@ -17835,7 +18161,6 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -17855,7 +18180,6 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -17870,7 +18194,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17882,7 +18205,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -17895,7 +18217,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -17906,15 +18227,13 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "license": "MIT" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, "node_modules/svgo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "license": "MIT", "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -17941,7 +18260,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -17953,7 +18271,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -17962,7 +18279,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -17976,7 +18292,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -17984,14 +18299,12 @@ "node_modules/svgo/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/svgo/node_modules/css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^3.2.1", @@ -18003,7 +18316,6 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -18015,7 +18327,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -18025,7 +18336,6 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -18034,14 +18344,12 @@ "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "license": "BSD-2-Clause" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "node_modules/svgo/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -18050,7 +18358,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", "engines": { "node": ">=4" } @@ -18059,7 +18366,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -18072,7 +18378,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "license": "BSD-2-Clause", "dependencies": { "boolbase": "~1.0.0" } @@ -18081,7 +18386,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -18092,37 +18396,35 @@ "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "license": "MIT" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tailwindcss": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", - "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", - "license": "MIT", + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -18132,19 +18434,32 @@ "node": ">=14.0.0" } }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/tailwindcss/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -18153,7 +18468,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -18162,7 +18476,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "license": "MIT", "engines": { "node": ">=8" } @@ -18171,7 +18484,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", @@ -18189,7 +18501,6 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -18201,7 +18512,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -18214,10 +18524,9 @@ } }, "node_modules/terser": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", - "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", - "license": "BSD-2-Clause", + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", + "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -18232,16 +18541,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "license": "MIT", + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -18265,35 +18573,15 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -18306,14 +18594,12 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "license": "MIT" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -18322,7 +18608,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -18333,26 +18618,64 @@ "node_modules/throat": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", - "license": "MIT" + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "license": "MIT" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tldts": { + "version": "6.1.71", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.71.tgz", + "integrity": "sha512-LQIHmHnuzfZgZWAf2HzL83TIIrD8NhhI0DVxqo9/FdOd4ilec+NTNZOlDZf7EwrTNoutccbsHjvWHYXLAtvxjw==", + "dev": true, + "dependencies": { + "tldts-core": "^6.1.71" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.71", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.71.tgz", + "integrity": "sha512-LRbChn2YRpic1KxY+ldL1pGXN/oVvKfCVufwfVzEQdFYNo39uF7AJa/WXdo+gYO7PTvdfkCPCed6Hkvz/kR7jg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "engines": { + "node": ">=14.14" + } }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "license": "BSD-3-Clause" + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -18364,40 +18687,26 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", - "license": "BSD-3-Clause", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.0.tgz", + "integrity": "sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==", + "dev": true, "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" + "tldts": "^6.1.32" }, "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "node": ">=16" } }, "node_modules/tr46": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -18405,36 +18714,41 @@ "node": ">=8" } }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "license": "MIT" + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, "node_modules/ts-api-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", - "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", + "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" } }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "license": "Apache-2.0" + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -18446,7 +18760,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -18458,7 +18771,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "license": "MIT", "engines": { "node": ">=4" } @@ -18466,14 +18778,12 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -18487,14 +18797,30 @@ "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -18506,7 +18832,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "license": "MIT", "engines": { "node": ">=4" } @@ -18515,7 +18840,6 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -18527,7 +18851,6 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -18537,30 +18860,28 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "license": "MIT", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "license": "MIT", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -18570,17 +18891,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -18590,17 +18911,16 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "license": "MIT", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -18613,7 +18933,6 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } @@ -18622,7 +18941,6 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -18632,15 +18950,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.14.0.tgz", - "integrity": "sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz", + "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.14.0", - "@typescript-eslint/parser": "8.14.0", - "@typescript-eslint/utils": "8.14.0" + "@typescript-eslint/eslint-plugin": "8.19.1", + "@typescript-eslint/parser": "8.19.1", + "@typescript-eslint/utils": "8.19.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -18649,22 +18966,23 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -18673,20 +18991,17 @@ "node_modules/underscore": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "license": "MIT" + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "license": "MIT" + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "license": "MIT", "engines": { "node": ">=4" } @@ -18695,7 +19010,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -18708,7 +19022,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "license": "MIT", "engines": { "node": ">=4" } @@ -18717,7 +19030,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "license": "MIT", "engines": { "node": ">=4" } @@ -18726,7 +19038,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -18738,7 +19049,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -18747,7 +19057,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -18755,23 +19064,30 @@ "node_modules/unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", - "license": "MIT" + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "license": "MIT", "engines": { "node": ">=4", "yarn": "*" } }, "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "funding": [ { "type": "opencollective", @@ -18786,10 +19102,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -18802,7 +19117,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -18811,7 +19125,6 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -18820,14 +19133,12 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/util.promisify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "license": "MIT", "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.2", @@ -18841,14 +19152,12 @@ "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "license": "MIT" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -18857,7 +19166,6 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -18866,7 +19174,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "license": "ISC", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", @@ -18879,24 +19186,35 @@ "node_modules/v8-to-istanbul/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", "engines": { "node": ">= 0.8" } }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "license": "MIT", "dependencies": { "browser-process-hrtime": "^1.0.0" } @@ -18905,7 +19223,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "license": "MIT", "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -18917,7 +19234,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } @@ -18926,7 +19242,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -18939,7 +19254,6 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -18947,29 +19261,26 @@ "node_modules/web-vitals": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==", - "license": "Apache-2.0" + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "license": "BSD-2-Clause", "engines": { "node": ">=10.4" } }, "node_modules/webpack": { - "version": "5.96.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", - "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", - "license": "MIT", + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.14.0", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", @@ -19009,7 +19320,6 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", - "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -19032,7 +19342,6 @@ "version": "4.15.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -19091,7 +19400,6 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -19112,7 +19420,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "license": "MIT", "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^2.2.0" @@ -19128,7 +19435,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -19137,7 +19443,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -19150,7 +19455,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -19159,7 +19463,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -19172,7 +19475,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -19181,7 +19483,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -19199,7 +19500,6 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -19213,7 +19513,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -19222,7 +19521,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "license": "MIT", "dependencies": { "iconv-lite": "0.4.24" } @@ -19231,7 +19529,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -19242,20 +19539,17 @@ "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", - "license": "MIT" + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" }, "node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "license": "MIT" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, "node_modules/whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "license": "MIT", "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -19269,7 +19563,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -19281,39 +19574,41 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-builtin-type": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", - "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dependencies": { + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -19326,7 +19621,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -19341,15 +19635,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "license": "MIT", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "for-each": "^0.3.3", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -19363,7 +19657,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -19372,7 +19665,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", - "license": "MIT", "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" @@ -19382,7 +19674,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19391,7 +19682,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", - "license": "MIT", "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -19439,7 +19729,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "license": "MIT", "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", @@ -19456,7 +19745,6 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -19468,32 +19756,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/workbox-build/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/workbox-build/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "license": "BSD-3-Clause", "dependencies": { "whatwg-url": "^7.0.0" }, @@ -19505,7 +19776,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "license": "MIT", "dependencies": { "punycode": "^2.1.0" } @@ -19513,14 +19783,12 @@ "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "license": "BSD-2-Clause" + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "node_modules/workbox-build/node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", @@ -19532,7 +19800,6 @@ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", "deprecated": "workbox-background-sync@6.6.0", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19540,14 +19807,12 @@ "node_modules/workbox-core": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", - "license": "MIT" + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" }, "node_modules/workbox-expiration": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", - "license": "MIT", "dependencies": { "idb": "^7.0.1", "workbox-core": "6.6.0" @@ -19558,7 +19823,6 @@ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", - "license": "MIT", "dependencies": { "workbox-background-sync": "6.6.0", "workbox-core": "6.6.0", @@ -19570,7 +19834,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19579,7 +19842,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0", @@ -19590,7 +19852,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19599,7 +19860,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", - "license": "MIT", "dependencies": { "workbox-cacheable-response": "6.6.0", "workbox-core": "6.6.0", @@ -19613,7 +19873,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19622,7 +19881,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0" } @@ -19631,7 +19889,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", - "license": "MIT", "dependencies": { "workbox-core": "6.6.0", "workbox-routing": "6.6.0" @@ -19640,14 +19897,12 @@ "node_modules/workbox-sw": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", - "license": "MIT" + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" }, "node_modules/workbox-webpack-plugin": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", - "license": "MIT", "dependencies": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", @@ -19666,7 +19921,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -19675,7 +19929,6 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "license": "MIT", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -19685,7 +19938,6 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", - "license": "MIT", "dependencies": { "@types/trusted-types": "^2.0.2", "workbox-core": "6.6.0" @@ -19695,7 +19947,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -19713,7 +19964,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -19729,14 +19979,12 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -19748,7 +19996,6 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -19768,20 +20015,17 @@ "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "license": "Apache-2.0" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "license": "MIT" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", "engines": { "node": ">=10" } @@ -19789,14 +20033,12 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", "engines": { "node": ">= 6" } @@ -19805,7 +20047,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -19823,16 +20064,24 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "license": "ISC", "engines": { "node": ">=10" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", "engines": { "node": ">=10" }, diff --git a/frontend/package.json b/frontend/package.json index cc8fa6d..9da1c0e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,10 +4,14 @@ "private": true, "type": "module", "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.7.1", + "@fortawesome/free-regular-svg-icons": "^6.7.2", + "@fortawesome/free-solid-svg-icons": "^6.7.1", + "@fortawesome/react-fontawesome": "^0.2.2", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "axios": "^1.7.7", + "axios": "^1.7.9", "leaflet": "^1.9.4", "prop-types": "^15.8.1", "react": "^18.3.1", @@ -42,7 +46,9 @@ }, "devDependencies": { "@eslint/js": "^9.14.0", - "eslint": "^9.14.0", + "cypress": "^13.8.0", + "eslint": "^9.18.0", + "eslint-plugin-cypress": "^4.1.0", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^5.0.0", "globals": "^15.12.0", From 01b36b5ebe710a586644c2da34cc20b26ff31733 Mon Sep 17 00:00:00 2001 From: AndrzejBudzyn Date: Wed, 15 Jan 2025 00:00:41 +0100 Subject: [PATCH 17/17] . --- Backend/composer.json | 1 - Backend/composer.lock | 866 ++++++++++++++++++++++++++++++++--------- Backend/routes/web.php | 2 +- 3 files changed, 674 insertions(+), 195 deletions(-) diff --git a/Backend/composer.json b/Backend/composer.json index 74c4b80..91ab8bb 100644 --- a/Backend/composer.json +++ b/Backend/composer.json @@ -14,7 +14,6 @@ "laravel/sanctum": "^3.3", "laravel/socialite": "^5.11", "laravel/tinker": "^2.8", - "swagger-api/swagger-ui": "^5.18", "symfony/browser-kit": "^7.1", "symfony/dom-crawler": "^7.2", "symfony/http-client": "^7.1", diff --git a/Backend/composer.lock b/Backend/composer.lock index a3bd44a..5860e27 100644 --- a/Backend/composer.lock +++ b/Backend/composer.lock @@ -4,8 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "03fa2bca851f63f8b3a323f2fa67c7cf", - "content-hash": "8509f6f873f4c2d5ac3268215a4f439e", + "content-hash": "b91ee5c49b8bfea7096edda021ce182a", "packages": [ { "name": "brick/math", @@ -446,16 +445,16 @@ }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "b115554301161fa21467629f1e1391c1936de517" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517", + "reference": "b115554301161fa21467629f1e1391c1936de517", "shasum": "" }, "require": { @@ -501,7 +500,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.3" }, "funding": [ { @@ -509,7 +508,7 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2024-12-27T00:36:43+00:00" }, { "name": "firebase/php-jwt", @@ -1120,16 +1119,16 @@ }, { "name": "laravel/framework", - "version": "v10.48.22", + "version": "v10.48.25", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "c4ea52bb044faef4a103d7dd81746c01b2ec860e" + "reference": "f132b23b13909cc22c615c01b0c5640541c3da0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/c4ea52bb044faef4a103d7dd81746c01b2ec860e", - "reference": "c4ea52bb044faef4a103d7dd81746c01b2ec860e", + "url": "https://api.github.com/repos/laravel/framework/zipball/f132b23b13909cc22c615c01b0c5640541c3da0c", + "reference": "f132b23b13909cc22c615c01b0c5640541c3da0c", "shasum": "" }, "require": { @@ -1236,7 +1235,7 @@ "nyholm/psr7": "^1.2", "orchestra/testbench-core": "^8.23.4", "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "^1.4.7", + "phpstan/phpstan": "~1.11.11", "phpunit/phpunit": "^10.0.7", "predis/predis": "^2.0.2", "symfony/cache": "^6.2", @@ -1323,7 +1322,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-09-12T15:00:09+00:00" + "time": "2024-11-26T15:32:57+00:00" }, { "name": "laravel/prompts", @@ -1451,16 +1450,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.5", + "version": "v1.3.7", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c" + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", - "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", "shasum": "" }, "require": { @@ -1508,7 +1507,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-09-23T13:33:08+00:00" + "time": "2024-11-14T18:34:49+00:00" }, { "name": "laravel/socialite", @@ -1650,16 +1649,16 @@ }, { "name": "league/commonmark", - "version": "2.5.3", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0" + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", "shasum": "" }, "require": { @@ -1684,8 +1683,9 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, @@ -1695,7 +1695,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.6-dev" + "dev-main": "2.7-dev" } }, "autoload": { @@ -1752,7 +1752,7 @@ "type": "tidelift" } ], - "time": "2024-08-16T11:46:16+00:00" + "time": "2024-12-29T14:10:59+00:00" }, { "name": "league/config", @@ -2169,16 +2169,16 @@ }, { "name": "monolog/monolog", - "version": "3.7.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8" + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8", - "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4", + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4", "shasum": "" }, "require": { @@ -2198,12 +2198,14 @@ "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.5.17", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", "predis/predis": "^1.1 || ^2", - "ruflin/elastica": "^7", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -2254,7 +2256,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.7.0" + "source": "https://github.com/Seldaek/monolog/tree/3.8.1" }, "funding": [ { @@ -2266,20 +2268,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:40:51+00:00" + "time": "2024-12-05T17:15:07+00:00" }, { "name": "nesbot/carbon", - "version": "2.72.5", + "version": "2.72.6", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "1e9d50601e7035a4c61441a208cb5bed73e108c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/1e9d50601e7035a4c61441a208cb5bed73e108c5", + "reference": "1e9d50601e7035a4c61441a208cb5bed73e108c5", "shasum": "" }, "require": { @@ -2299,7 +2301,7 @@ "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", + "ondrejmirtes/better-reflection": "<6", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.99 || ^1.7.14", @@ -2312,10 +2314,6 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -2325,6 +2323,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -2373,7 +2375,7 @@ "type": "tidelift" } ], - "time": "2024-06-03T19:18:41+00:00" + "time": "2024-12-27T09:28:11+00:00" }, { "name": "nette/schema", @@ -3684,67 +3686,6 @@ ], "time": "2024-04-27T21:32:50+00:00" }, - { - "name": "swagger-api/swagger-ui", - "version": "v5.17.14", - "source": { - "type": "git", - "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/74ed0adebfc9c8dd0de2bf8e81495b022a66c083", - "reference": "74ed0adebfc9c8dd0de2bf8e81495b022a66c083", - "shasum": "" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Anna Bodnia", - "email": "anna.bodnia@gmail.com" - }, - { - "name": "Buu Nguyen", - "email": "buunguyen@gmail.com" - }, - { - "name": "Josh Ponelat", - "email": "jponelat@gmail.com" - }, - { - "name": "Kyle Shockey", - "email": "kyleshockey1@gmail.com" - }, - { - "name": "Robert Barnwell", - "email": "robert@robertismy.name" - }, - { - "name": "Sahar Jafari", - "email": "shr.jafari@gmail.com" - } - ], - "description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.", - "homepage": "http://swagger.io", - "keywords": [ - "api", - "documentation", - "openapi", - "specification", - "swagger", - "ui" - ], - "support": { - "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v5.17.14" - }, - "time": "2024-05-28T05:24:40+00:00" - }, { "name": "symfony/browser-kit", "version": "v7.1.6", @@ -3909,16 +3850,16 @@ }, { "name": "symfony/css-selector", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66" + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4aa4f6b3d6749c14d3aa815eef8226632e7bbc66", - "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", "shasum": "" }, "require": { @@ -3954,7 +3895,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.6" + "source": "https://github.com/symfony/css-selector/tree/v7.2.0" }, "funding": [ { @@ -3970,7 +3911,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4108,16 +4049,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c" + "reference": "37ad2380e8c1a8cf62a1200a5c10080b679b446c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", - "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/37ad2380e8c1a8cf62a1200a5c10080b679b446c", + "reference": "37ad2380e8c1a8cf62a1200a5c10080b679b446c", "shasum": "" }, "require": { @@ -4163,7 +4104,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.13" + "source": "https://github.com/symfony/error-handler/tree/v6.4.17" }, "funding": [ { @@ -4179,20 +4120,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-12-06T13:30:51+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.6", + "version": "v7.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "87254c78dd50721cfd015b62277a8281c5589702" + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702", - "reference": "87254c78dd50721cfd015b62277a8281c5589702", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", + "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", "shasum": "" }, "require": { @@ -4243,7 +4184,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" }, "funding": [ { @@ -4259,7 +4200,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -4575,16 +4516,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.13", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c" + "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", - "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57", + "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57", "shasum": "" }, "require": { @@ -4594,12 +4535,12 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.3" + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", + "symfony/cache": "^6.4.12|^7.1.5", "symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", @@ -4632,7 +4573,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.13" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.16" }, "funding": [ { @@ -4648,20 +4589,20 @@ "type": "tidelift" } ], - "time": "2024-10-11T19:20:58+00:00" + "time": "2024-11-13T18:58:10+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e" + "reference": "c5647393c5ce11833d13e4b70fff4b571d4ac710" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4474015c363ec0cd3bf47d55657e68630dbae66e", - "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c5647393c5ce11833d13e4b70fff4b571d4ac710", + "reference": "c5647393c5ce11833d13e4b70fff4b571d4ac710", "shasum": "" }, "require": { @@ -4746,7 +4687,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.13" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.17" }, "funding": [ { @@ -4762,7 +4703,7 @@ "type": "tidelift" } ], - "time": "2024-10-27T13:00:29+00:00" + "time": "2024-12-31T14:49:31+00:00" }, { "name": "symfony/mailer", @@ -4846,16 +4787,16 @@ }, { "name": "symfony/mime", - "version": "v6.4.13", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855" + "reference": "ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855", - "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855", + "url": "https://api.github.com/repos/symfony/mime/zipball/ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232", + "reference": "ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232", "shasum": "" }, "require": { @@ -4911,7 +4852,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.13" + "source": "https://github.com/symfony/mime/tree/v6.4.17" }, "funding": [ { @@ -4927,7 +4868,7 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:07:50+00:00" + "time": "2024-12-02T11:09:41+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5110,8 +5051,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5430,8 +5371,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5512,8 +5453,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -5628,16 +5569,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.13", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278" + "reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/640a74250d13f9c30d5ca045b6aaaabcc8215278", - "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278", + "url": "https://api.github.com/repos/symfony/routing/zipball/91e02e606b4b705c2f4fb42f7e7708b7923a3220", + "reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220", "shasum": "" }, "require": { @@ -5691,7 +5632,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.13" + "source": "https://github.com/symfony/routing/tree/v6.4.16" }, "funding": [ { @@ -5707,7 +5648,7 @@ "type": "tidelift" } ], - "time": "2024-10-01T08:30:56+00:00" + "time": "2024-11-13T15:31:34+00:00" }, { "name": "symfony/service-contracts", @@ -6128,16 +6069,16 @@ }, { "name": "symfony/var-dumper", - "version": "v6.4.13", + "version": "v6.4.15", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41" + "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", - "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80", + "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80", "shasum": "" }, "require": { @@ -6193,7 +6134,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.13" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.15" }, "funding": [ { @@ -6209,35 +6150,109 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-08T15:28:48+00:00" + }, + { + "name": "symfony/yaml", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "099581e99f557e9f16b43c5916c26380b54abb22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", + "reference": "099581e99f557e9f16b43c5916c26380b54abb22", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-23T06:56:12+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -6260,9 +6275,9 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" }, - "time": "2023-12-08T13:03:43+00:00" + "time": "2024-12-21T16:25:41+00:00" }, { "name": "vlucas/phpdotenv", @@ -6350,16 +6365,16 @@ }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -6384,7 +6399,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -6396,7 +6411,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -6420,7 +6435,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webmozart/assert", @@ -6479,6 +6494,87 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "zircote/swagger-php", + "version": "4.11.1", + "source": { + "type": "git", + "url": "https://github.com/zircote/swagger-php.git", + "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7df10e8ec47db07c031db317a25bef962b4e5de1", + "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.2", + "psr/log": "^1.1 || ^2.0 || ^3.0", + "symfony/deprecation-contracts": "^2 || ^3", + "symfony/finder": ">=2.2", + "symfony/yaml": ">=3.3" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.11", + "doctrine/annotations": "^1.7 || ^2.0", + "friendsofphp/php-cs-fixer": "^2.17 || 3.62.0", + "phpstan/phpstan": "^1.6", + "phpunit/phpunit": ">=8", + "vimeo/psalm": "^4.23" + }, + "suggest": { + "doctrine/annotations": "^1.7 || ^2.0" + }, + "bin": [ + "bin/openapi" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "OpenApi\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Robert Allen", + "email": "zircote@gmail.com" + }, + { + "name": "Bob Fanger", + "email": "bfanger@gmail.com", + "homepage": "https://bfanger.nl" + }, + { + "name": "Martin Rademacher", + "email": "mano@radebatz.net", + "homepage": "https://radebatz.net" + } + ], + "description": "swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations", + "homepage": "https://github.com/zircote/swagger-php/", + "keywords": [ + "api", + "json", + "rest", + "service discovery" + ], + "support": { + "issues": "https://github.com/zircote/swagger-php/issues", + "source": "https://github.com/zircote/swagger-php/tree/4.11.1" + }, + "time": "2024-10-15T19:20:02+00:00" } ], "packages-dev": [ @@ -6915,6 +7011,101 @@ ], "time": "2024-05-06T16:37:16+00:00" }, + { + "name": "doctrine/deprecations", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" + }, + "time": "2024-12-07T21:18:45+00:00" + }, + { + "name": "erusev/parsedown", + "version": "1.7.4", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "support": { + "issues": "https://github.com/erusev/parsedown/issues", + "source": "https://github.com/erusev/parsedown/tree/1.7.x" + }, + "time": "2019-12-30T22:54:17+00:00" + }, { "name": "evenement/evenement", "version": "v3.0.2", @@ -6964,16 +7155,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.23.1", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -7021,9 +7212,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-01-02T13:46:09+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "fidry/cpu-core-counter", @@ -7311,6 +7502,160 @@ }, "time": "2020-07-09T08:09:16+00:00" }, + { + "name": "jean85/pretty-package-versions", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/Jean85/pretty-package-versions.git", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "jean85/composer-provided-replaced-stub-package": "^1.0", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "vimeo/psalm": "^4.3 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Jean85\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alessandro Lai", + "email": "alessandro.lai85@gmail.com" + } + ], + "description": "A library to get pretty versions strings of installed dependencies", + "keywords": [ + "composer", + "package", + "release", + "versions" + ], + "support": { + "issues": "https://github.com/Jean85/pretty-package-versions/issues", + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0" + }, + "time": "2024-11-18T16:19:46+00:00" + }, + { + "name": "knuckleswtf/scribe", + "version": "4.39.0", + "source": { + "type": "git", + "url": "https://github.com/knuckleswtf/scribe.git", + "reference": "cb4c2e552fdae4fd2306e12bba60d5de38a9e4ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/cb4c2e552fdae4fd2306e12bba60d5de38a9e4ad", + "reference": "cb4c2e552fdae4fd2306e12bba60d5de38a9e4ad", + "shasum": "" + }, + "require": { + "erusev/parsedown": "1.7.4", + "ext-fileinfo": "*", + "ext-json": "*", + "ext-pdo": "*", + "fakerphp/faker": "^1.9.1", + "illuminate/console": "^8.0|^9.0|^10.0|^11.0", + "illuminate/routing": "^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "league/flysystem": "^1.1.4|^2.1.1|^3.0", + "mpociot/reflection-docblock": "^1.0.1", + "nikic/php-parser": "^5.0", + "nunomaduro/collision": "^5.10|^6.0|^7.0|^8.0", + "php": ">=8.0", + "ramsey/uuid": "^4.2.2", + "shalvah/clara": "^3.1.0", + "shalvah/upgrader": ">=0.6.0", + "spatie/data-transfer-object": "^2.6|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "replace": { + "mpociot/laravel-apidoc-generator": "*" + }, + "require-dev": { + "brianium/paratest": "^6.0", + "dms/phpunit-arraysubset-asserts": "^0.4", + "laravel/legacy-factories": "^1.3.0", + "laravel/lumen-framework": "^8.0|^9.0|^10.0", + "league/fractal": "^0.20", + "nikic/fast-route": "^1.3", + "orchestra/testbench": "^6.0|^7.0|^8.0", + "pestphp/pest": "^1.21", + "phpstan/phpstan": "^1.0", + "phpunit/phpunit": "^9.0|^10.0", + "symfony/css-selector": "^5.4|^6.0", + "symfony/dom-crawler": "^5.4|^6.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Knuckles\\Scribe\\ScribeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Knuckles\\Camel\\": "camel/", + "Knuckles\\Scribe\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Shalvah" + } + ], + "description": "Generate API documentation for humans from your Laravel codebase.✍", + "homepage": "http://github.com/knuckleswtf/scribe", + "keywords": [ + "api", + "dingo", + "documentation", + "laravel" + ], + "support": { + "issues": "https://github.com/knuckleswtf/scribe/issues", + "source": "https://github.com/knuckleswtf/scribe/tree/4.39.0" + }, + "funding": [ + { + "url": "https://patreon.com/shalvah", + "type": "patreon" + } + ], + "time": "2024-12-31T14:13:50+00:00" + }, { "name": "kubawerlos/php-cs-fixer-custom-fixers", "version": "v3.22.0", @@ -10938,8 +11283,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -11056,6 +11401,141 @@ ], "time": "2024-09-25T14:20:29+00:00" }, + { + "name": "symfony/var-exporter", + "version": "v7.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a6a89f95a46af0f142874c9d650a6358d13070d", + "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" + ], + "support": { + "source": "https://github.com/symfony/var-exporter/tree/v7.2.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-18T07:58:17+00:00" + }, + { + "name": "ta-tikoma/phpunit-architecture-test", + "version": "0.8.4", + "source": { + "type": "git", + "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", + "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/89f0dea1cb0f0d5744d3ec1764a286af5e006636", + "reference": "89f0dea1cb0f0d5744d3ec1764a286af5e006636", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18.0 || ^5.0.0", + "php": "^8.1.0", + "phpdocumentor/reflection-docblock": "^5.3.0", + "phpunit/phpunit": "^10.5.5 || ^11.0.0", + "symfony/finder": "^6.4.0 || ^7.0.0" + }, + "require-dev": { + "laravel/pint": "^1.13.7", + "phpstan/phpstan": "^1.10.52" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPUnit\\Architecture\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ni Shi", + "email": "futik0ma011@gmail.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Methods for testing application architecture", + "keywords": [ + "architecture", + "phpunit", + "stucture", + "test", + "testing" + ], + "support": { + "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", + "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.4" + }, + "time": "2024-01-05T14:10:56+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.3", @@ -11109,12 +11589,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.1" }, - "platform-dev": {}, + "platform-dev": [], "plugin-api-version": "2.6.0" } diff --git a/Backend/routes/web.php b/Backend/routes/web.php index ffeef0a..43500f1 100644 --- a/Backend/routes/web.php +++ b/Backend/routes/web.php @@ -14,5 +14,5 @@ | be assigned to the "web" middleware group. Make something great! | */ - +Route::get("/", fn() => view("welcome")); Route::get("/api/documentation", fn() => file_get_contents(public_path("docs/index.html")));