From a546674e74db76dec15c1ac2ab773c3b2d997df3 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Mon, 15 Dec 2025 03:23:08 +0100 Subject: [PATCH 01/23] refactor(core): improve http error handling --- .../Exceptions/ConsoleExceptionHandler.php | 2 - .../core/src/DevelopmentExceptionHandler.php | 64 -------- .../core/src/ExceptionHandlerInitializer.php | 1 - packages/core/src/FrameworkKernel.php | 7 - packages/http/src/HttpRequestFailed.php | 12 +- packages/http/src/Responses/Invalid.php | 21 +-- packages/http/src/Responses/NotAcceptable.php | 19 +++ packages/icon/src/Icon.php | 1 - .../src/Exceptions/HtmlExceptionRenderer.php | 137 ++++++++++++++++++ .../src/Exceptions/HttpExceptionHandler.php | 54 ++----- .../src/Exceptions/JsonExceptionRenderer.php | 93 ++++++++++++ .../error.view.php | 9 +- .../{HttpErrorResponse => html}/style.css | 54 ++++--- .../src/HandleRouteExceptionMiddleware.php | 30 +--- packages/router/src/RouteConfig.php | 2 - .../src/Static/StaticGenerateCommand.php | 51 +++++-- .../Commands/MigrateFreshCommand.php | 7 +- .../Commands/MigrateValidateCommand.php | 4 +- .../Testing/Http/HttpRouterTester.php | 29 ++-- .../Testing/Http/TestResponseHelper.php | 10 +- .../Testing/Http/TestingResponseSender.php | 19 +++ tests/Integration/Http/CsrfTest.php | 73 +++++----- .../Http/HttpExceptionHandlerTest.php | 4 +- .../Fixtures/CustomNotFoundMiddleware.php | 22 --- tests/Integration/Route/NotFoundTest.php | 26 ---- tests/Integration/Route/RouterTest.php | 44 ++---- .../Http/HttpRouterTesterIntegrationTest.php | 9 +- 27 files changed, 457 insertions(+), 347 deletions(-) delete mode 100644 packages/core/src/DevelopmentExceptionHandler.php create mode 100644 packages/http/src/Responses/NotAcceptable.php create mode 100644 packages/router/src/Exceptions/HtmlExceptionRenderer.php create mode 100644 packages/router/src/Exceptions/JsonExceptionRenderer.php rename packages/router/src/Exceptions/{HttpErrorResponse => html}/error.view.php (87%) rename packages/router/src/Exceptions/{HttpErrorResponse => html}/style.css (81%) create mode 100644 src/Tempest/Framework/Testing/Http/TestingResponseSender.php delete mode 100644 tests/Integration/Route/Fixtures/CustomNotFoundMiddleware.php delete mode 100644 tests/Integration/Route/NotFoundTest.php diff --git a/packages/console/src/Exceptions/ConsoleExceptionHandler.php b/packages/console/src/Exceptions/ConsoleExceptionHandler.php index 052b311ef..4636eb724 100644 --- a/packages/console/src/Exceptions/ConsoleExceptionHandler.php +++ b/packages/console/src/Exceptions/ConsoleExceptionHandler.php @@ -25,8 +25,6 @@ final readonly class ConsoleExceptionHandler implements ExceptionHandler { public function __construct( - private AppConfig $appConfig, - private Container $container, private Kernel $kernel, #[Tag('console')] private Highlighter $highlighter, diff --git a/packages/core/src/DevelopmentExceptionHandler.php b/packages/core/src/DevelopmentExceptionHandler.php deleted file mode 100644 index cf4d28db2..000000000 --- a/packages/core/src/DevelopmentExceptionHandler.php +++ /dev/null @@ -1,64 +0,0 @@ -whoops = new Run(); - $this->whoops->pushHandler($this->createHandler()); - } - - public function handle(Throwable $throwable): void - { - $this->exceptionReporter->report($throwable); - $this->whoops->handleException($throwable); - } - - private function createHandler(): HandlerInterface - { - $handler = new PrettyPageHandler(); - - $handler->addDataTableCallback('Route', function () { - $route = $this->container->get(MatchedRoute::class); - - if (! $route) { - return []; - } - - return [ - 'Handler' => $route->route->handler->getDeclaringClass()->getFileName() . ':' . $route->route->handler->getName(), - 'URI' => $route->route->uri, - 'Allowed parameters' => $route->route->parameters, - 'Received parameters' => $route->params, - ]; - }); - - $handler->addDataTableCallback('Request', function () { - $request = $this->container->get(Request::class); - - return [ - 'URI' => $request->uri, - 'Method' => $request->method->value, - 'Headers' => $request->headers->toArray(), - 'Parsed body' => array_filter(array_values($request->body)) ? $request->body : [], - 'Raw body' => $request->raw, - ]; - }); - - return $handler; - } -} diff --git a/packages/core/src/ExceptionHandlerInitializer.php b/packages/core/src/ExceptionHandlerInitializer.php index fe3e24e01..a4a291cd1 100644 --- a/packages/core/src/ExceptionHandlerInitializer.php +++ b/packages/core/src/ExceptionHandlerInitializer.php @@ -17,7 +17,6 @@ public function initialize(Container $container): ExceptionHandler return match (true) { PHP_SAPI === 'cli' => $container->get(ConsoleExceptionHandler::class), - $config->environment->isLocal() => $container->get(DevelopmentExceptionHandler::class), default => $container->get(HttpExceptionHandler::class), }; } diff --git a/packages/core/src/FrameworkKernel.php b/packages/core/src/FrameworkKernel.php index d7514b03b..928c6b0c0 100644 --- a/packages/core/src/FrameworkKernel.php +++ b/packages/core/src/FrameworkKernel.php @@ -7,7 +7,6 @@ use Dotenv\Dotenv; use ErrorException; use RuntimeException; -use Tempest\Console\Exceptions\ConsoleExceptionHandler; use Tempest\Container\Container; use Tempest\Container\GenericContainer; use Tempest\Core\Kernel\FinishDeferredTasks; @@ -17,7 +16,6 @@ use Tempest\Core\Kernel\RegisterEmergencyExceptionHandler; use Tempest\EventBus\EventBus; use Tempest\Process\GenericProcessExecutor; -use Tempest\Router\Exceptions\HttpExceptionHandler; use Tempest\Support\Filesystem; final class FrameworkKernel implements Kernel @@ -248,11 +246,6 @@ public function registerExceptionHandler(): self return $this; } - // TODO: refactor to not have a hard-coded dependency on these exception handlers - if (! class_exists(ConsoleExceptionHandler::class) || ! class_exists(HttpExceptionHandler::class)) { - return $this; - } - $handler = $this->container->get(ExceptionHandler::class); set_exception_handler($handler->handle(...)); diff --git a/packages/http/src/HttpRequestFailed.php b/packages/http/src/HttpRequestFailed.php index 14375346e..91b905e64 100644 --- a/packages/http/src/HttpRequestFailed.php +++ b/packages/http/src/HttpRequestFailed.php @@ -12,14 +12,14 @@ final class HttpRequestFailed extends Exception implements HasContext { public function __construct( - public readonly Request $request, - public readonly Status $status, + private(set) readonly Status $status, ?string $message = null, - public readonly ?Response $cause = null, + private(set) readonly ?Response $cause = null, + private(set) readonly ?Request $request = null, ?Throwable $previous = null, ) { parent::__construct( - message: $message ?: 'Failed request: ' . $status->value . ' ' . $this->status->description(), + message: $message ?: '', code: $status->value, previous: $previous, ); @@ -28,8 +28,8 @@ public function __construct( public function context(): array { return [ - 'request_uri' => $this->request->uri, - 'request_method' => $this->request->method->value, + 'request_uri' => $this->request?->uri, + 'request_method' => $this->request?->method->value, 'status' => $this->status->value, 'message' => $this->message, 'cause' => $this->cause, diff --git a/packages/http/src/Responses/Invalid.php b/packages/http/src/Responses/Invalid.php index f3478c703..99f37602d 100644 --- a/packages/http/src/Responses/Invalid.php +++ b/packages/http/src/Responses/Invalid.php @@ -11,13 +11,12 @@ use Tempest\Http\Session\Session; use Tempest\Http\Status; use Tempest\Reflection\ClassReflector; +use Tempest\Support\Arr; use Tempest\Support\Json; use Tempest\Validation\FailingRule; -use Tempest\Validation\Rule; use Tempest\Validation\Validator; use function Tempest\get; -use function Tempest\Support\arr; final class Invalid implements Response { @@ -40,21 +39,17 @@ public function __construct( $this->addHeader('Location', $referer); $this->status = Status::FOUND; } else { - $this->status = Status::BAD_REQUEST; + $this->status = Status::UNPROCESSABLE_CONTENT; } $this->flash(Session::VALIDATION_ERRORS, $failingRules); $this->flash(Session::ORIGINAL_VALUES, $this->filterSensitiveFields($request, $targetClass)); - $this->addHeader( - 'x-validation', - Json\encode( - arr($failingRules)->map( - fn (array $failingRulesForField) => arr($failingRulesForField)->map( - fn (FailingRule $rule) => $this->validator->getErrorMessage($rule), - )->toArray(), - )->toArray(), - ), - ); + $this->addHeader('x-validation', value: Json\encode( + Arr\map_iterable($failingRules, fn (array $failingRulesForField) => Arr\map_iterable( + array: $failingRulesForField, + map: fn (FailingRule $rule) => $this->validator->getErrorMessage($rule), + )), + )); } /** diff --git a/packages/http/src/Responses/NotAcceptable.php b/packages/http/src/Responses/NotAcceptable.php new file mode 100644 index 000000000..5336039a0 --- /dev/null +++ b/packages/http/src/Responses/NotAcceptable.php @@ -0,0 +1,19 @@ +status = Status::NOT_ACCEPTABLE; + } +} diff --git a/packages/icon/src/Icon.php b/packages/icon/src/Icon.php index 96d316628..f10b9f6e0 100644 --- a/packages/icon/src/Icon.php +++ b/packages/icon/src/Icon.php @@ -64,7 +64,6 @@ private function fetchSvg(string $collection, string $icon): ?string if ($response->status !== Status::OK) { throw new HttpRequestFailed( - request: new GenericRequest(Method::GET, $url), status: $response->status, cause: $response, ); diff --git a/packages/router/src/Exceptions/HtmlExceptionRenderer.php b/packages/router/src/Exceptions/HtmlExceptionRenderer.php new file mode 100644 index 000000000..6a8b59a81 --- /dev/null +++ b/packages/router/src/Exceptions/HtmlExceptionRenderer.php @@ -0,0 +1,137 @@ +toResponse(); + } + + if ($this->shouldRenderDevelopmentException($throwable)) { + $whoops = $this->createHandler(); + + return new GenericResponse( + status: Status::INTERNAL_SERVER_ERROR, + body: $whoops->handleException($throwable), + ); + } + + return match (true) { + $throwable instanceof ValidationFailed => new Invalid($throwable->subject, $throwable->failingRules, $throwable->targetClass), + $throwable instanceof RouteBindingFailed => $this->renderErrorResponse(Status::NOT_FOUND), + $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), + $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), + $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), + default => $this->renderErrorResponse(Status::INTERNAL_SERVER_ERROR, $throwable), + }; + } + + private function renderErrorResponse(Status $status, ?Throwable $exception = null): Response + { + if ($exception instanceof HttpRequestFailed && $exception->cause?->body) { + return $exception->cause; + } + + return new GenericResponse( + status: $status, + body: new GenericView(__DIR__ . '/html/error.view.php', [ + 'css' => $this->getStyleSheet(), + 'status' => $status->value, + 'title' => $status->description(), + 'message' => $exception?->getMessage() ?: match ($status) { + Status::INTERNAL_SERVER_ERROR => 'An unexpected server error occurred', + Status::NOT_FOUND => 'This page could not be found on the server', + Status::FORBIDDEN => 'You do not have permission to access this page', + Status::UNAUTHORIZED => 'You must be authenticated in to access this page', + Status::UNPROCESSABLE_CONTENT => 'The request could not be processed due to invalid data', + default => null, + }, + ]), + ); + } + + private function getStyleSheet(): string + { + return Filesystem\read_file(__DIR__ . '/html/style.css'); + } + + private function shouldRenderDevelopmentException(Throwable $throwable): bool + { + if (! $this->appConfig->environment->isLocal()) { + return false; + } + + if (! $throwable instanceof HttpRequestFailed) { + return true; + } + + if ($throwable->status === Status::NOT_FOUND) { + return false; + } + + return true; + } + + private function createHandler(): Run + { + $handler = new PrettyPageHandler(); + + $handler->addDataTableCallback('Route', function () { + $route = $this->container->get(MatchedRoute::class); + + if (! $route) { + return []; + } + + return [ + 'Handler' => $route->route->handler->getDeclaringClass()->getFileName() . ':' . $route->route->handler->getName(), + 'URI' => $route->route->uri, + 'Allowed parameters' => $route->route->parameters, + 'Received parameters' => $route->params, + ]; + }); + + $handler->addDataTableCallback('Request', function () { + $request = $this->container->get(Request::class); + + return [ + 'URI' => $request->uri, + 'Method' => $request->method->value, + 'Headers' => $request->headers->toArray(), + 'Parsed body' => array_filter(array_values($request->body)) ? $request->body : [], + 'Raw body' => $request->raw, + ]; + }); + + $whoops = new Run(); + $whoops->pushHandler($handler); + + return $whoops; + } +} diff --git a/packages/router/src/Exceptions/HttpExceptionHandler.php b/packages/router/src/Exceptions/HttpExceptionHandler.php index fe093c0b0..6869d79c2 100644 --- a/packages/router/src/Exceptions/HttpExceptionHandler.php +++ b/packages/router/src/Exceptions/HttpExceptionHandler.php @@ -2,73 +2,47 @@ namespace Tempest\Router\Exceptions; -use Tempest\Auth\Exceptions\AccessWasDenied; use Tempest\Container\Container; -use Tempest\Core\AppConfig; use Tempest\Core\ExceptionHandler; use Tempest\Core\ExceptionReporter; use Tempest\Core\Kernel; +use Tempest\Http\ContentType; use Tempest\Http\GenericResponse; -use Tempest\Http\HttpRequestFailed; +use Tempest\Http\Request; use Tempest\Http\Response; -use Tempest\Http\Session\CsrfTokenDidNotMatch; use Tempest\Http\Status; use Tempest\Router\ResponseSender; -use Tempest\Support\Filesystem; -use Tempest\View\GenericView; use Throwable; final readonly class HttpExceptionHandler implements ExceptionHandler { public function __construct( - private AppConfig $appConfig, - private Kernel $kernel, private ResponseSender $responseSender, + private Kernel $kernel, private Container $container, private ExceptionReporter $exceptionReporter, + private JsonExceptionRenderer $jsonHandler, + private HtmlExceptionRenderer $htmlHandler, ) {} public function handle(Throwable $throwable): void { + $request = $this->container->get(Request::class); + try { $this->exceptionReporter->report($throwable); - - $response = match (true) { - $throwable instanceof ConvertsToResponse => $throwable->toResponse(), - $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), - $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), - $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), - default => $this->renderErrorResponse(Status::INTERNAL_SERVER_ERROR), - }; - - $this->responseSender->send($response); + $this->responseSender->send($this->renderResponse($request, $throwable)); } finally { $this->kernel->shutdown(); } } - private function renderErrorResponse(Status $status, ?HttpRequestFailed $exception = null): Response - { - return new GenericResponse( - status: $status, - body: new GenericView(__DIR__ . '/HttpErrorResponse/error.view.php', [ - 'css' => $this->getStyleSheet(), - 'status' => $status->value, - 'title' => $status->description(), - 'message' => $exception?->getMessage() ?: match ($status) { - Status::INTERNAL_SERVER_ERROR => 'An unexpected server error occurred', - Status::NOT_FOUND => 'This page could not be found on the server', - Status::FORBIDDEN => 'You do not have permission to access this page', - Status::UNAUTHORIZED => 'You must be authenticated in to access this page', - Status::UNPROCESSABLE_CONTENT => 'The request could not be processed due to invalid data', - default => null, - }, - ]), - ); - } - - private function getStyleSheet(): string + public function renderResponse(Request $request, Throwable $throwable): Response { - return Filesystem\read_file(__DIR__ . '/HttpErrorResponse/style.css'); + return match (true) { + $request->accepts(ContentType::HTML, ContentType::XHTML) => $this->htmlHandler->render($throwable), + $request->accepts(ContentType::JSON) => $this->jsonHandler->render($throwable), + default => new GenericResponse(status: Status::NOT_ACCEPTABLE), + }; } } diff --git a/packages/router/src/Exceptions/JsonExceptionRenderer.php b/packages/router/src/Exceptions/JsonExceptionRenderer.php new file mode 100644 index 000000000..e71fde5e8 --- /dev/null +++ b/packages/router/src/Exceptions/JsonExceptionRenderer.php @@ -0,0 +1,93 @@ + $throwable->toResponse(), + $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), + $throwable instanceof ValidationFailed => $this->renderValidationErrorResponse($throwable), + $throwable instanceof RouteBindingFailed => $this->renderErrorResponse(Status::NOT_FOUND), + $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), + $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), + default => $this->renderErrorResponse(Status::INTERNAL_SERVER_ERROR, $throwable), + }; + } + + private function renderValidationErrorResponse(ValidationFailed $exception): Response + { + $errors = Arr\map_iterable($exception->failingRules, fn (array $failingRulesForField, string $field) => Arr\map_iterable( + array: $failingRulesForField, + map: fn (FailingRule $rule) => $this->validator->getErrorMessage($rule, $field), + )); + + return new Json([ + 'message' => Arr\first($errors)[0], + 'errors' => $errors, + ])->setStatus(Status::UNPROCESSABLE_CONTENT); + } + + private function renderErrorResponse(Status $status, ?Throwable $exception = null): Response + { + if ($status === Status::NOT_FOUND) { + return new NotFound(); + } + + $response = [ + 'message' => static::getErrorMessage($status, $exception), + ]; + + if ($this->appConfig->environment->isLocal() && $exception !== null) { + $response['debug'] = [ + 'exception' => get_class($exception), + 'file' => $exception->getFile(), + 'line' => $exception->getLine(), + 'trace' => $exception->getTrace(), + ]; + } + + return new Json($response)->setStatus($status); + } + + private static function getErrorMessage(Status $status, ?Throwable $exception = null): ?string + { + $message = $exception?->getMessage() ?: match ($status) { + Status::INTERNAL_SERVER_ERROR => 'An unexpected server error occurred', + Status::FORBIDDEN => 'You do not have permission to access this endpoint', + Status::UNAUTHORIZED => 'You must be authenticated in to access this endpoint', + Status::UNPROCESSABLE_CONTENT => 'The request could not be processed due to invalid data', + default => $status->description(), + }; + + if ($exception instanceof HttpRequestFailed) { + $message = is_string($exception->cause?->body) + ? $exception->cause->body + : $message; + } + + return $message; + } +} diff --git a/packages/router/src/Exceptions/HttpErrorResponse/error.view.php b/packages/router/src/Exceptions/html/error.view.php similarity index 87% rename from packages/router/src/Exceptions/HttpErrorResponse/error.view.php rename to packages/router/src/Exceptions/html/error.view.php index 944fc3707..ffefb0e62 100644 --- a/packages/router/src/Exceptions/HttpErrorResponse/error.view.php +++ b/packages/router/src/Exceptions/html/error.view.php @@ -2,16 +2,17 @@ {{ $title }} + {{-- https://play.tailwindcss.com/AtW4En9qH8 --}} -
+
-

+

- HTTP + HTTP {{ $status }}

-

{{ \Tempest\Support\Str\ensure_ends_with($message, '.') }}

+

{{ \Tempest\Support\Str\ensure_ends_with($message, '.') }}

diff --git a/packages/router/src/Exceptions/HttpErrorResponse/style.css b/packages/router/src/Exceptions/html/style.css similarity index 81% rename from packages/router/src/Exceptions/HttpErrorResponse/style.css rename to packages/router/src/Exceptions/html/style.css index 690f394fe..c73cd4b90 100644 --- a/packages/router/src/Exceptions/HttpErrorResponse/style.css +++ b/packages/router/src/Exceptions/html/style.css @@ -1,4 +1,5 @@ -/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */ +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */ +@layer properties; @layer theme, base, components, utilities; @layer theme { :root, :host { @@ -8,12 +9,14 @@ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --color-blue-200: oklch(88.2% 0.059 254.128); + --color-neutral-600: oklch(43.9% 0 0); + --color-neutral-900: oklch(20.5% 0 0); --spacing: 0.25rem; - --text-xl: 1.25rem; - --text-xl--line-height: calc(1.75 / 1.25); --text-8xl: 6rem; --text-8xl--line-height: 1; - --font-weight-thin: 100; + --font-weight-light: 300; + --font-weight-normal: 400; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); } @@ -148,7 +151,10 @@ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) { ::placeholder { - color: color-mix(in oklab, currentColor 50%, transparent); + color: currentcolor; + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, currentcolor 50%, transparent); + } } } textarea { @@ -178,6 +184,9 @@ ::-webkit-datetime-edit-meridiem-field { padding-block: 0; } + ::-webkit-calendar-picker-indicator { + line-height: 1; + } :-moz-ui-invalid { box-shadow: none; } @@ -233,29 +242,32 @@ .gap-x-1 { column-gap: calc(var(--spacing) * 1); } - .bg-\[\#061324\] { - background-color: #061324; + .bg-neutral-900 { + background-color: var(--color-neutral-900); } .px-8 { padding-inline: calc(var(--spacing) * 8); } + .font-mono { + font-family: var(--font-mono); + } .text-8xl { font-size: var(--text-8xl); line-height: var(--tw-leading, var(--text-8xl--line-height)); } - .text-xl { - font-size: var(--text-xl); - line-height: var(--tw-leading, var(--text-xl--line-height)); + .font-light { + --tw-font-weight: var(--font-weight-light); + font-weight: var(--font-weight-light); } - .font-thin { - --tw-font-weight: var(--font-weight-thin); - font-weight: var(--font-weight-thin); + .font-normal { + --tw-font-weight: var(--font-weight-normal); + font-weight: var(--font-weight-normal); } - .text-\[\#4c6586\] { - color: #4c6586; + .text-blue-200 { + color: var(--color-blue-200); } - .text-\[\#a8caf7\] { - color: #a8caf7; + .text-neutral-600 { + color: var(--color-neutral-600); } .uppercase { text-transform: uppercase; @@ -269,3 +281,11 @@ syntax: "*"; inherits: false; } +@layer properties { + @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or + ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) { + *, ::before, ::after, ::backdrop { + --tw-font-weight: initial; + } + } +} diff --git a/packages/router/src/HandleRouteExceptionMiddleware.php b/packages/router/src/HandleRouteExceptionMiddleware.php index c9c5ec6f3..c4663342a 100644 --- a/packages/router/src/HandleRouteExceptionMiddleware.php +++ b/packages/router/src/HandleRouteExceptionMiddleware.php @@ -6,36 +6,24 @@ use Tempest\Http\HttpRequestFailed; use Tempest\Http\Request; use Tempest\Http\Response; -use Tempest\Http\Responses\Invalid; -use Tempest\Http\Responses\NotFound; use Tempest\Router\Exceptions\ConvertsToResponse; -use Tempest\Router\Exceptions\RouteBindingFailed; -use Tempest\Validation\Exceptions\ValidationFailed; #[Priority(Priority::FRAMEWORK - 10)] final readonly class HandleRouteExceptionMiddleware implements HttpMiddleware { - public function __construct( - private RouteConfig $routeConfig, - ) {} - public function __invoke(Request $request, HttpMiddlewareCallable $next): Response { - if ($this->routeConfig->throwHttpExceptions === true) { - $response = $this->forward($request, $next); - - if ($response->status->isServerError() || $response->status->isClientError()) { - throw new HttpRequestFailed( - request: $request, - status: $response->status, - cause: $response, - ); - } + $response = $this->forward($request, $next); + if (! $response->status->isClientError() && ! $response->status->isServerError()) { return $response; } - return $this->forward($request, $next); + throw new HttpRequestFailed( + status: $response->status, + cause: $response, + request: $request, + ); } private function forward(Request $request, HttpMiddlewareCallable $next): Response @@ -44,10 +32,6 @@ private function forward(Request $request, HttpMiddlewareCallable $next): Respon return $next($request); } catch (ConvertsToResponse $convertsToResponse) { return $convertsToResponse->toResponse(); - } catch (RouteBindingFailed) { - return new NotFound(); - } catch (ValidationFailed $validationException) { - return new Invalid($validationException->subject, $validationException->failingRules, $validationException->targetClass); } } } diff --git a/packages/router/src/RouteConfig.php b/packages/router/src/RouteConfig.php index b5ce19835..a3364f29d 100644 --- a/packages/router/src/RouteConfig.php +++ b/packages/router/src/RouteConfig.php @@ -31,8 +31,6 @@ public function __construct( SetCookieMiddleware::class, HandleRouteSpecificMiddleware::class, ), - - public bool $throwHttpExceptions = true, ) {} public function apply(RouteConfig $newConfig): void diff --git a/packages/router/src/Static/StaticGenerateCommand.php b/packages/router/src/Static/StaticGenerateCommand.php index 79f1a7186..ae15b33d1 100644 --- a/packages/router/src/Static/StaticGenerateCommand.php +++ b/packages/router/src/Static/StaticGenerateCommand.php @@ -14,7 +14,10 @@ use Tempest\Core\Kernel; use Tempest\EventBus\EventBus; use Tempest\Http\GenericRequest; +use Tempest\Http\HttpRequestFailed; use Tempest\Http\Method; +use Tempest\Http\Response; +use Tempest\Http\Responses\ServerError; use Tempest\Http\Status; use Tempest\HttpClient\HttpClient; use Tempest\Intl; @@ -88,6 +91,10 @@ public function __invoke( "{$event->path}", sprintf("%s DEAD %s", count($event->exception->links), Intl\pluralize('LINK', count($event->exception->links))), ), + $event->exception instanceof HttpRequestFailed => $this->keyValue( + "{$event->path}", + "HTTP {$event->exception->status->value}", + ), $event->exception instanceof InvalidStatusCodeException => $this->keyValue( "{$event->path}", "HTTP {$event->exception->status->value}", @@ -101,8 +108,6 @@ public function __invoke( }; }); - $this->routeConfig->throwHttpExceptions = false; - foreach ($this->staticPageConfig->staticPages as $staticPage) { /** @var DataProvider $dataProvider */ $dataProvider = $this->container->get($staticPage->dataProviderClass ?? GenericDataProvider::class); @@ -125,12 +130,10 @@ public function __invoke( $file = path($publicPath, $fileName); try { - $response = $this->router->dispatch( - new GenericRequest( - method: Method::GET, - uri: $uri, - ), - ); + $response = $this->router->dispatch(new GenericRequest( + method: Method::GET, + uri: $uri, + )); if ($response->status !== Status::OK) { throw new InvalidStatusCodeException($uri, $response->status); @@ -169,8 +172,9 @@ public function __invoke( ob_clean(); } - if ($exception instanceof ViewCompilationFailed && $exception->getPrevious() instanceof ManifestWasNotFound) { + if ($this->isFailureBecauseOfMissingManifest($exception)) { $this->error("A Vite build is needed for [{$uri}]. Run vite build first."); + return ExitCode::ERROR; } @@ -202,6 +206,15 @@ public function __invoke( : ExitCode::SUCCESS; } + private function isFailureBecauseOfMissingManifest(Throwable $exception): bool + { + if (! $exception instanceof ViewCompilationFailed) { + return false; + } + + return $exception->getPrevious() instanceof ManifestWasNotFound; + } + private function detectDeadLinks(string $uri, string $html, bool $checkExternal = false): array { $deadlinks = []; @@ -237,22 +250,28 @@ private function detectDeadLinks(string $uri, string $html, bool $checkExternal // Check internal links with router (/ or same base uri) if (Str\starts_with($link, '/') || Str\starts_with($this->getLinkWithoutProtocol($link), $this->getLinkWithoutProtocol($this->appConfig->baseUri))) { do { + $response = null; $target ??= match (true) { ! Str\starts_with($link, '/') => str($link)->stripStart($this->appConfig->baseUri)->finish('/')->toString(), default => $link, }; - $response = $this->router->dispatch(new GenericRequest( - method: Method::GET, - uri: $target, - )); + try { + $response = $this->router->dispatch(new GenericRequest( + method: Method::GET, + uri: $target, + )); + } catch (HttpRequestFailed) { + $deadlinks[] = $link; + continue; + } - if ($response->status->isRedirect()) { + if ($response?->status->isRedirect()) { $target = Arr\first($response->getHeader('Location')->values); } - } while ($response->status->isRedirect()); + } while ($response?->status->isRedirect()); - if ($response->status->isClientError() || $response->status->isServerError()) { + if ($response?->status->isClientError() || $response?->status->isServerError()) { $deadlinks[] = $link; } diff --git a/src/Tempest/Framework/Commands/MigrateFreshCommand.php b/src/Tempest/Framework/Commands/MigrateFreshCommand.php index 02bae840c..2b6009c70 100644 --- a/src/Tempest/Framework/Commands/MigrateFreshCommand.php +++ b/src/Tempest/Framework/Commands/MigrateFreshCommand.php @@ -14,6 +14,7 @@ use Tempest\Database\Migrations\FreshMigrationFailed; use Tempest\Database\Migrations\MigrationManager; use Tempest\Database\Migrations\TableDropped; +use Tempest\EventBus\EventBus; use Tempest\EventBus\EventHandler; #[Singleton] @@ -24,6 +25,7 @@ final class MigrateFreshCommand public function __construct( private readonly Console $console, private readonly MigrationManager $migrationManager, + private readonly EventBus $eventBus, ) {} #[ConsoleCommand( @@ -43,6 +45,9 @@ public function __invoke( #[ConsoleArgument(description: 'Select one specific seeder to run')] ?string $seeder = null, ): ExitCode { + $this->eventBus->listen($this->onTableDropped(...)); + $this->eventBus->listen($this->onFreshMigrationFailed(...)); + if ($validate) { $validationSuccess = $this->console->call(MigrateValidateCommand::class); @@ -78,7 +83,6 @@ public function __invoke( return ExitCode::SUCCESS; } - #[EventHandler] public function onTableDropped(TableDropped $event): void { $this->count += 1; @@ -88,7 +92,6 @@ public function onTableDropped(TableDropped $event): void ); } - #[EventHandler] public function onFreshMigrationFailed(FreshMigrationFailed $event): void { $this->console->error($event->throwable->getMessage()); diff --git a/src/Tempest/Framework/Commands/MigrateValidateCommand.php b/src/Tempest/Framework/Commands/MigrateValidateCommand.php index ad121d257..a7dda0152 100644 --- a/src/Tempest/Framework/Commands/MigrateValidateCommand.php +++ b/src/Tempest/Framework/Commands/MigrateValidateCommand.php @@ -13,6 +13,7 @@ use Tempest\Database\Migrations\MigrationHashMismatched; use Tempest\Database\Migrations\MigrationManager; use Tempest\Database\Migrations\MigrationValidationFailed; +use Tempest\EventBus\EventBus; use Tempest\EventBus\EventHandler; #[Singleton] @@ -23,6 +24,7 @@ final class MigrateValidateCommand public function __construct( private readonly Console $console, private readonly MigrationManager $migrationManager, + private readonly EventBus $eventBus, ) {} #[ConsoleCommand( @@ -33,6 +35,7 @@ public function __invoke( #[ConsoleArgument(description: 'Use a specific database.')] ?string $database = null, ): ExitCode { + $this->eventBus->listen($this->onMigrationValidationFailed(...)); $this->console->header('Validating migration files'); $this->migrationManager->onDatabase($database)->validate(); @@ -48,7 +51,6 @@ public function __invoke( return ExitCode::SUCCESS; } - #[EventHandler] public function onMigrationValidationFailed(MigrationValidationFailed $event): void { $error = match ($event->exception::class) { diff --git a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php index b6bf9c89b..69f73399c 100644 --- a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php +++ b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php @@ -11,16 +11,15 @@ use Tempest\Http\Mappers\RequestToPsrRequestMapper; use Tempest\Http\Method; use Tempest\Http\Request; -use Tempest\Router\RouteConfig; +use Tempest\Router\Exceptions\HttpExceptionHandler; use Tempest\Router\Router; use Tempest\Support\Uri; +use Throwable; use function Tempest\Mapper\map; final class HttpRouterTester { - private bool $throwHttpExceptions = false; - public function __construct( private Container $container, ) {} @@ -138,25 +137,25 @@ public function sendRequest(Request $request): TestResponseHelper /** @var Router $router */ $router = $this->container->get(Router::class); - $this->container->get(RouteConfig::class)->throwHttpExceptions = $this->throwHttpExceptions; + try { + $response = $router->dispatch(map($request)->with(RequestToPsrRequestMapper::class)->do()); + } catch (Throwable $exception) { + $this->container->get(HttpExceptionHandler::class)->renderResponse($request, $exception); + + return new TestResponseHelper( + response: $this->container->get(HttpExceptionHandler::class)->renderResponse($request, $exception), + request: $request, + container: $this->container, + ); + } return new TestResponseHelper( - response: $router->dispatch(map($request)->with(RequestToPsrRequestMapper::class)->do()), + response: $response, request: $request, container: $this->container, ); } - /** - * Instructs the router to throw {@see Tempest\Http\HttpException} errors when an error response is returned. This mimics production behavior. - */ - public function throwExceptions(bool $throw = true): self - { - $this->throwHttpExceptions = $throw; - - return $this; - } - public function makePsrRequest( string $uri, Method $method = Method::GET, diff --git a/src/Tempest/Framework/Testing/Http/TestResponseHelper.php b/src/Tempest/Framework/Testing/Http/TestResponseHelper.php index 0da7a4135..7da25e6ba 100644 --- a/src/Tempest/Framework/Testing/Http/TestResponseHelper.php +++ b/src/Tempest/Framework/Testing/Http/TestResponseHelper.php @@ -274,6 +274,10 @@ public function assertSee(string $search): self $body = $this->container->get(ViewRenderer::class)->render($body); } + if (is_array($body)) { + $body = json_encode($body); + } + Assert::assertStringContainsString($search, $body); return $this; @@ -430,7 +434,7 @@ public function assertViewModel(string $expected, ?Closure $callback = null): se * * @param array $expected */ - public function assertJson(array $expected): self + public function assertJson(array $expected = []): self { Assert::assertEquals( expected: arr($expected)->undot()->toArray(), @@ -509,9 +513,7 @@ public function assertHasJsonValidationErrors(array $expectedErrors): self { $this->assertHasContainer(); - Assert::assertInstanceOf(Invalid::class, $this->response); - Assert::assertContains($this->response->status, [Status::BAD_REQUEST, Status::FOUND]); - Assert::assertNotNull($this->response->getHeader('x-validation')); + Assert::assertContains($this->response->status, [Status::BAD_REQUEST, Status::FOUND, Status::UNPROCESSABLE_CONTENT]); $session = $this->container->get(Session::class); $validator = $this->container->get(Validator::class); diff --git a/src/Tempest/Framework/Testing/Http/TestingResponseSender.php b/src/Tempest/Framework/Testing/Http/TestingResponseSender.php new file mode 100644 index 000000000..e255902da --- /dev/null +++ b/src/Tempest/Framework/Testing/Http/TestingResponseSender.php @@ -0,0 +1,19 @@ +responses[] = $response; + + return $response; + } +} diff --git a/tests/Integration/Http/CsrfTest.php b/tests/Integration/Http/CsrfTest.php index b3cffa1db..108f523a8 100644 --- a/tests/Integration/Http/CsrfTest.php +++ b/tests/Integration/Http/CsrfTest.php @@ -2,6 +2,9 @@ namespace Tests\Tempest\Integration\Http; +use PHPUnit\Framework\Attributes\Before; +use PHPUnit\Framework\Attributes\PreCondition; +use PHPUnit\Framework\Attributes\Test; use PHPUnit\Framework\Attributes\TestWith; use Tempest\Core\AppConfig; use Tempest\Core\Environment; @@ -11,6 +14,7 @@ use Tempest\Http\Session\CsrfTokenDidNotMatch; use Tempest\Http\Session\Session; use Tempest\Http\Session\VerifyCsrfMiddleware; +use Tempest\Http\Status; use Tempest\View\ViewCache; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; @@ -18,10 +22,15 @@ final class CsrfTest extends FrameworkIntegrationTestCase { - public function test_csrf_is_sent_as_cookie(): void + #[PreCondition] + protected function configureEnvironment(): void { $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; + } + #[Test] + public function csrf_is_sent_as_cookie(): void + { $token = $this->container->get(Session::class)->get(Session::CSRF_TOKEN_KEY); $this->http @@ -33,47 +42,48 @@ public function test_csrf_is_sent_as_cookie(): void #[TestWith([Method::PUT])] #[TestWith([Method::PATCH])] #[TestWith([Method::DELETE])] - public function test_throws_when_missing_in_write_verbs(Method $method): void + #[Test] + public function throws_when_missing_in_write_verbs(Method $method): void { - $this->expectException(CsrfTokenDidNotMatch::class); - - $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; - $this->http->sendRequest(new GenericRequest($method, uri: '/test')); + $this->http + ->sendRequest(new GenericRequest($method, uri: '/test')) + ->assertStatus(Status::UNPROCESSABLE_CONTENT); } #[TestWith([Method::GET])] #[TestWith([Method::OPTIONS])] #[TestWith([Method::HEAD])] - public function test_allows_missing_in_read_verbs(Method $method): void + #[Test] + public function allows_missing_in_read_verbs(Method $method): void { - $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; - $this->http ->sendRequest(new GenericRequest($method, uri: '/test')) ->assertOk(); } - public function test_throws_when_mismatch_from_body(): void + #[Test] + public function throws_when_mismatch_from_body(): void { - $this->expectException(CsrfTokenDidNotMatch::class); - - $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; $this->container->get(Session::class)->set(Session::CSRF_TOKEN_KEY, 'abc'); - $this->http->post('/test', [Session::CSRF_TOKEN_KEY => 'def']); + $this->http + ->post('/test', [Session::CSRF_TOKEN_KEY => 'def']) + ->assertStatus(Status::UNPROCESSABLE_CONTENT); } - public function test_throws_when_mismatch_from_header(): void + #[Test] + public function throws_when_mismatch_from_header(): void { - $this->expectException(CsrfTokenDidNotMatch::class); - $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; $this->container->get(Session::class)->set(Session::CSRF_TOKEN_KEY, 'abc'); - $this->http->post('/test', [Session::CSRF_TOKEN_KEY => 'def']); + $this->http + ->post('/test', [Session::CSRF_TOKEN_KEY => 'def']) + ->assertStatus(Status::UNPROCESSABLE_CONTENT); } - public function test_matches_from_body(): void + #[Test] + public function matches_from_body(): void { $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; @@ -84,7 +94,8 @@ public function test_matches_from_body(): void ->assertOk(); } - public function test_matches_from_header_when_encrypted(): void + #[Test] + public function matches_from_header_when_encrypted(): void { $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; $session = $this->container->get(Session::class); @@ -100,20 +111,8 @@ public function test_matches_from_header_when_encrypted(): void ->assertOk(); } - public function test_throws_csrf_exception_when_header_is_non_serialized_hash(): void - { - $this->expectException(CsrfTokenDidNotMatch::class); - $this->container->get(AppConfig::class)->environment = Environment::PRODUCTION; - $session = $this->container->get(Session::class); - - // simulate a non-serialized hash - $sessionCookieValue = 'i-am-not-correct'; - - $this->http - ->post('/test', headers: [VerifyCsrfMiddleware::CSRF_HEADER_KEY => $sessionCookieValue]); - } - - public function test_csrf_component(): void + #[Test] + public function csrf_component(): void { $session = $this->container->get(Session::class); $session->set(Session::CSRF_TOKEN_KEY, 'test'); @@ -128,7 +127,8 @@ public function test_csrf_component(): void ); } - public function test_csrf_token_function(): void + #[Test] + public function csrf_token_function(): void { $session = $this->container->get(Session::class); $session->set(Session::CSRF_TOKEN_KEY, 'test'); @@ -136,7 +136,8 @@ public function test_csrf_token_function(): void $this->assertSame('test', csrf_token()); } - public function test_csrf_with_cached_view(): void + #[Test] + public function csrf_with_cached_view(): void { $this->get(ViewCache::class)->enabled = true; diff --git a/tests/Integration/Http/HttpExceptionHandlerTest.php b/tests/Integration/Http/HttpExceptionHandlerTest.php index c73bc85de..932bd0de3 100644 --- a/tests/Integration/Http/HttpExceptionHandlerTest.php +++ b/tests/Integration/Http/HttpExceptionHandlerTest.php @@ -9,9 +9,7 @@ use Tempest\Core\AppConfig; use Tempest\Core\FrameworkKernel; use Tempest\Core\Kernel; -use Tempest\Http\GenericRequest; use Tempest\Http\HttpRequestFailed; -use Tempest\Http\Method; use Tempest\Http\Response; use Tempest\Http\Responses\Redirect; use Tempest\Http\Session\CsrfTokenDidNotMatch; @@ -124,7 +122,7 @@ public function test_exception_handler_returns_same_code_as_http_exception(Statu { $this->callExceptionHandler(function () use ($status): void { $handler = $this->container->get(HttpExceptionHandler::class); - $handler->handle(new HttpRequestFailed(new GenericRequest(Method::GET, '/test'), $status)); + $handler->handle(new HttpRequestFailed($status)); }); $this->assertSame($status, $this->response->status); diff --git a/tests/Integration/Route/Fixtures/CustomNotFoundMiddleware.php b/tests/Integration/Route/Fixtures/CustomNotFoundMiddleware.php deleted file mode 100644 index f33e6750c..000000000 --- a/tests/Integration/Route/Fixtures/CustomNotFoundMiddleware.php +++ /dev/null @@ -1,22 +0,0 @@ -addHeader('x-not-found', 'indeed'); - - return $response; - } -} diff --git a/tests/Integration/Route/NotFoundTest.php b/tests/Integration/Route/NotFoundTest.php deleted file mode 100644 index 45a1c1ec0..000000000 --- a/tests/Integration/Route/NotFoundTest.php +++ /dev/null @@ -1,26 +0,0 @@ -http->get('unknown-route')->assertNotFound(); - } - - public function test_custom_not_found_middleware(): void - { - $routeConfig = $this->container->get(RouteConfig::class); - $routeConfig->middleware->add(CustomNotFoundMiddleware::class); - - $this->http->get('unknown-route')->assertHasHeader('x-not-found'); - } -} diff --git a/tests/Integration/Route/RouterTest.php b/tests/Integration/Route/RouterTest.php index a4478c43a..f8af2e6ca 100644 --- a/tests/Integration/Route/RouterTest.php +++ b/tests/Integration/Route/RouterTest.php @@ -190,40 +190,6 @@ public function test_can_add_response_processor(): void ->assertOk(); } - public function test_error_response_processor_throws_http_exceptions_when_instructed(): void - { - $this->expectException(HttpRequestFailed::class); - $this->expectExceptionCode(404); - - $this->http - ->throwExceptions() - ->get('/non-existent'); - } - - public function test_error_response_processor_throws_http_exceptions_if_there_is_a_body(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('oops'); - - $this->registerRoute([Http500Controller::class, 'throwsException']); - - $this->http - ->throwExceptions() - ->get('/throws-exception'); - } - - public function test_throws_http_exception_when_returning_server_error(): void - { - $this->expectException(HttpRequestFailed::class); - $this->expectExceptionCode(500); - - $this->registerRoute([Http500Controller::class, 'serverError']); - - $this->http - ->throwExceptions() - ->get('/returns-server-error'); - } - public function test_error_response_processor_does_not_throw_http_exceptions_if_there_is_a_body(): void { $this->registerRoute([Http500Controller::class, 'serverErrorWithBody']); @@ -244,6 +210,16 @@ public function test_converts_to_response(): void ->assertHeaderContains('Location', 'https://tempestphp.com'); } + public function test_router_returns_json_exception_when_accepts_json(): void + { + $this->registerRoute([Http500Controller::class, 'throwsException']); + + $this->http + ->get('/throws-exception', headers: ['Accept' => 'application/json']) + ->assertStatus(Status::INTERNAL_SERVER_ERROR) + ->assertJsonHasKeys('message'); + } + public function test_head_requests(): void { $this->registerRoute([HeadController::class, 'implicitHead']); diff --git a/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php b/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php index f634eb9a4..64b4b7330 100644 --- a/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php +++ b/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php @@ -6,6 +6,7 @@ use Exception; use PHPUnit\Framework\AssertionFailedError; +use Tempest\Http\Status; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; /** @@ -132,14 +133,6 @@ public function test_trace_requests(): void ->assertOk(); } - public function test_throw_exceptions(): void - { - $this->expectException(Exception::class); - - $this->http - ->get('/fail'); - } - public function test_trace_requests_failure(): void { $this->expectException(AssertionFailedError::class); From 1bb88f62bd7633e4f821c6fd31a3100dc8db72b6 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Mon, 15 Dec 2025 03:35:13 +0100 Subject: [PATCH 02/23] style: apply fixes from qa --- packages/console/src/Exceptions/ConsoleExceptionHandler.php | 2 -- packages/icon/src/Icon.php | 2 -- packages/router/src/Exceptions/JsonExceptionRenderer.php | 1 - packages/router/src/Static/StaticGenerateCommand.php | 2 -- src/Tempest/Framework/Commands/MigrateFreshCommand.php | 1 - src/Tempest/Framework/Commands/MigrateValidateCommand.php | 1 - tests/Integration/Http/CsrfTest.php | 2 -- tests/Integration/Route/RouterTest.php | 2 -- .../Testing/Http/HttpRouterTesterIntegrationTest.php | 2 -- 9 files changed, 15 deletions(-) diff --git a/packages/console/src/Exceptions/ConsoleExceptionHandler.php b/packages/console/src/Exceptions/ConsoleExceptionHandler.php index 4636eb724..33b7df5a4 100644 --- a/packages/console/src/Exceptions/ConsoleExceptionHandler.php +++ b/packages/console/src/Exceptions/ConsoleExceptionHandler.php @@ -9,9 +9,7 @@ use Tempest\Console\GlobalFlags; use Tempest\Console\HasExitCode; use Tempest\Console\Input\ConsoleArgumentBag; -use Tempest\Container\Container; use Tempest\Container\Tag; -use Tempest\Core\AppConfig; use Tempest\Core\ExceptionHandler; use Tempest\Core\ExceptionReporter; use Tempest\Core\Kernel; diff --git a/packages/icon/src/Icon.php b/packages/icon/src/Icon.php index f10b9f6e0..c97a0b3c3 100644 --- a/packages/icon/src/Icon.php +++ b/packages/icon/src/Icon.php @@ -4,9 +4,7 @@ use Exception; use Tempest\EventBus\EventBus; -use Tempest\Http\GenericRequest; use Tempest\Http\HttpRequestFailed; -use Tempest\Http\Method; use Tempest\Http\Status; use Tempest\HttpClient\HttpClient; use Tempest\Support\Str; diff --git a/packages/router/src/Exceptions/JsonExceptionRenderer.php b/packages/router/src/Exceptions/JsonExceptionRenderer.php index e71fde5e8..65f204e6e 100644 --- a/packages/router/src/Exceptions/JsonExceptionRenderer.php +++ b/packages/router/src/Exceptions/JsonExceptionRenderer.php @@ -8,7 +8,6 @@ use Tempest\Http\Response; use Tempest\Http\Responses\Json; use Tempest\Http\Responses\NotFound; -use Tempest\Http\Responses\ServerError; use Tempest\Http\Session\CsrfTokenDidNotMatch; use Tempest\Http\Status; use Tempest\Support\Arr; diff --git a/packages/router/src/Static/StaticGenerateCommand.php b/packages/router/src/Static/StaticGenerateCommand.php index ae15b33d1..4de293f5b 100644 --- a/packages/router/src/Static/StaticGenerateCommand.php +++ b/packages/router/src/Static/StaticGenerateCommand.php @@ -16,8 +16,6 @@ use Tempest\Http\GenericRequest; use Tempest\Http\HttpRequestFailed; use Tempest\Http\Method; -use Tempest\Http\Response; -use Tempest\Http\Responses\ServerError; use Tempest\Http\Status; use Tempest\HttpClient\HttpClient; use Tempest\Intl; diff --git a/src/Tempest/Framework/Commands/MigrateFreshCommand.php b/src/Tempest/Framework/Commands/MigrateFreshCommand.php index 2b6009c70..8e80c7d0b 100644 --- a/src/Tempest/Framework/Commands/MigrateFreshCommand.php +++ b/src/Tempest/Framework/Commands/MigrateFreshCommand.php @@ -15,7 +15,6 @@ use Tempest\Database\Migrations\MigrationManager; use Tempest\Database\Migrations\TableDropped; use Tempest\EventBus\EventBus; -use Tempest\EventBus\EventHandler; #[Singleton] final class MigrateFreshCommand diff --git a/src/Tempest/Framework/Commands/MigrateValidateCommand.php b/src/Tempest/Framework/Commands/MigrateValidateCommand.php index a7dda0152..cc8077d7d 100644 --- a/src/Tempest/Framework/Commands/MigrateValidateCommand.php +++ b/src/Tempest/Framework/Commands/MigrateValidateCommand.php @@ -14,7 +14,6 @@ use Tempest\Database\Migrations\MigrationManager; use Tempest\Database\Migrations\MigrationValidationFailed; use Tempest\EventBus\EventBus; -use Tempest\EventBus\EventHandler; #[Singleton] final class MigrateValidateCommand diff --git a/tests/Integration/Http/CsrfTest.php b/tests/Integration/Http/CsrfTest.php index 108f523a8..c9a425611 100644 --- a/tests/Integration/Http/CsrfTest.php +++ b/tests/Integration/Http/CsrfTest.php @@ -2,7 +2,6 @@ namespace Tests\Tempest\Integration\Http; -use PHPUnit\Framework\Attributes\Before; use PHPUnit\Framework\Attributes\PreCondition; use PHPUnit\Framework\Attributes\Test; use PHPUnit\Framework\Attributes\TestWith; @@ -11,7 +10,6 @@ use Tempest\Cryptography\Encryption\Encrypter; use Tempest\Http\GenericRequest; use Tempest\Http\Method; -use Tempest\Http\Session\CsrfTokenDidNotMatch; use Tempest\Http\Session\Session; use Tempest\Http\Session\VerifyCsrfMiddleware; use Tempest\Http\Status; diff --git a/tests/Integration/Route/RouterTest.php b/tests/Integration/Route/RouterTest.php index f8af2e6ca..929e1a43c 100644 --- a/tests/Integration/Route/RouterTest.php +++ b/tests/Integration/Route/RouterTest.php @@ -4,12 +4,10 @@ namespace Tests\Tempest\Integration\Route; -use Exception; use Laminas\Diactoros\ServerRequest; use Laminas\Diactoros\Stream; use Laminas\Diactoros\Uri; use Tempest\Database\Migrations\CreateMigrationsTable; -use Tempest\Http\HttpRequestFailed; use Tempest\Http\Responses\Ok; use Tempest\Http\Session\VerifyCsrfMiddleware; use Tempest\Http\Status; diff --git a/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php b/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php index 64b4b7330..b54707b0a 100644 --- a/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php +++ b/tests/Integration/Testing/Http/HttpRouterTesterIntegrationTest.php @@ -4,9 +4,7 @@ namespace Tests\Tempest\Integration\Testing\Http; -use Exception; use PHPUnit\Framework\AssertionFailedError; -use Tempest\Http\Status; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; /** From 5a67c196defcc528391d0bf3baffc57a2e458048 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Mon, 15 Dec 2025 23:37:06 +0100 Subject: [PATCH 03/23] feat: add ability to customize error rendering --- composer.json | 1 + docs/2-features/14-exception-handling.md | 135 ++++---- .../Exceptions/ConsoleExceptionHandler.php | 6 +- packages/core/src/AppConfig.php | 3 - packages/core/src/ExceptionProcessor.php | 13 - packages/core/src/ExceptionReporter.php | 38 --- packages/core/src/ExceptionTester.php | 90 ------ .../ExceptionHandlerInitializer.php | 5 +- .../src/Exceptions/ExceptionProcessor.php | 17 + .../ExceptionProcessorInitializer.php | 19 ++ .../core/src/Exceptions/ExceptionReporter.php | 16 + .../ExceptionReporterDiscovery.php} | 11 +- .../core/src/Exceptions/ExceptionTester.php | 118 +++++++ .../core/src/Exceptions/ExceptionsConfig.php | 39 +++ .../Exceptions/GenericExceptionProcessor.php | 31 ++ .../LoggingExceptionReporter.php} | 11 +- .../Exceptions/TestingExceptionProcessor.php | 29 ++ .../core/src/Exceptions/exceptions.config.php | 5 + .../{HasContext.php => ProvidesContext.php} | 4 +- packages/core/src/functions.php | 10 +- .../Exceptions/DecryptionFailed.php | 4 +- .../Exceptions/EncryptionFailed.php | 4 +- .../src/Exceptions/QueryWasInvalid.php | 4 +- packages/http/src/HttpRequestFailed.php | 4 +- packages/http/src/IsResponse.php | 5 +- .../Formatter/FormattingException.php | 4 +- .../Testing/ProcessExecutionWasForbidden.php | 4 +- .../router/src/ExceptionRendererDiscovery.php | 39 +++ .../src/Exceptions/ExceptionRenderer.php | 25 ++ .../src/Exceptions/HtmlExceptionRenderer.php | 9 +- .../src/Exceptions/HttpExceptionHandler.php | 35 ++- .../src/Exceptions/JsonExceptionRenderer.php | 12 +- .../src/HandleRouteExceptionMiddleware.php | 9 + packages/router/src/RouteConfig.php | 8 + .../Testing/Http/HttpRouterTester.php | 6 +- .../Framework/Testing/IntegrationTest.php | 4 +- .../Core/ExceptionProcessorTest.php | 32 +- .../Core/ExceptionReporterTest.php | 55 +--- .../Integration/Core/ExceptionTesterTest.php | 55 ++-- .../Http/Fixtures/ExceptionWithContext.php | 4 +- ...rocessor.php => NullExceptionReporter.php} | 8 +- .../Http/HttpExceptionHandlerTest.php | 16 +- .../Router/ExceptionRendererTest.php | 292 ++++++++++++++++++ 43 files changed, 895 insertions(+), 344 deletions(-) delete mode 100644 packages/core/src/ExceptionProcessor.php delete mode 100644 packages/core/src/ExceptionReporter.php delete mode 100644 packages/core/src/ExceptionTester.php rename packages/core/src/{ => Exceptions}/ExceptionHandlerInitializer.php (88%) create mode 100644 packages/core/src/Exceptions/ExceptionProcessor.php create mode 100644 packages/core/src/Exceptions/ExceptionProcessorInitializer.php create mode 100644 packages/core/src/Exceptions/ExceptionReporter.php rename packages/core/src/{ExceptionProcessorDiscovery.php => Exceptions/ExceptionReporterDiscovery.php} (65%) create mode 100644 packages/core/src/Exceptions/ExceptionTester.php create mode 100644 packages/core/src/Exceptions/ExceptionsConfig.php create mode 100644 packages/core/src/Exceptions/GenericExceptionProcessor.php rename packages/core/src/{LogExceptionProcessor.php => Exceptions/LoggingExceptionReporter.php} (62%) create mode 100644 packages/core/src/Exceptions/TestingExceptionProcessor.php create mode 100644 packages/core/src/Exceptions/exceptions.config.php rename packages/core/src/{HasContext.php => ProvidesContext.php} (53%) create mode 100644 packages/router/src/ExceptionRendererDiscovery.php create mode 100644 packages/router/src/Exceptions/ExceptionRenderer.php rename tests/Integration/Http/Fixtures/{NullExceptionProcessor.php => NullExceptionReporter.php} (52%) create mode 100644 tests/Integration/Router/ExceptionRendererTest.php diff --git a/composer.json b/composer.json index 907d7aa43..a447a865e 100644 --- a/composer.json +++ b/composer.json @@ -249,6 +249,7 @@ "lint:fix": "vendor/bin/mago lint --fix --format-after-fix", "style": "composer fmt && composer lint:fix", "test": "composer phpunit", + "test:stop": "composer phpunit --stop-on-error --stop-on-failure", "lint": "vendor/bin/mago lint --potentially-unsafe --minimum-fail-level=note", "phpstan": "vendor/bin/phpstan analyse src tests --memory-limit=1G", "rector": "vendor/bin/rector process --no-ansi", diff --git a/docs/2-features/14-exception-handling.md b/docs/2-features/14-exception-handling.md index e4bcd2ed9..6121fdbb8 100644 --- a/docs/2-features/14-exception-handling.md +++ b/docs/2-features/14-exception-handling.md @@ -1,66 +1,60 @@ --- title: Exception handling -description: "Learn how to gracefully handle exceptions in your application by writing exception processors." +description: "Learn how exception handling works, how to manually report exceptions, and how to customize exception rendering for HTTP responses." --- ## Overview -Tempest comes with its own exception handler, which provides a simple way to catch and process exceptions. During local development, Tempest uses [Whoops](https://github.com/filp/whoops) to display detailed error pages. In production, it will show a generic error page. +Tempest comes with its own exception handler, which provides a simple way to catch and process exceptions. During local development, Tempest uses [Whoops](https://github.com/filp/whoops) to display detailed error pages. In production, it displays a generic error page. -When an exception is thrown, it will be caught and piped through the registered exception processors. By default, the only registered exception processor, {b`Tempest\Core\LogExceptionProcessor`}, will simply log the exception. +When an exception is thrown, it is caught and piped through the registered exception reporters. By default, the only registered exception reporter, {b`Tempest\Core\LoggingExceptionReporter`}, logs the exception. -Of course, you may create your own exception processors. This is done by creating a class that implements the {`Tempest\Core\ExceptionProcessor`} interface. Classes implementing this interface are automatically [discovered](../4-internals/02-discovery.md), so you don't need to register them manually. +Custom exception reporters can be created by implementing the {b`Tempest\Core\Exceptions\ExceptionReporter`} interface. Classes implementing this interface are automatically [discovered](../4-internals/02-discovery.md) and do not require manual registration. -## Reporting exceptions +## Processing exceptions -Sometimes, you may want to report an exception without necessarily throwing it. For example, you may want to log an exception, but not stop the execution of the application. To do this, you can use the `Tempest\report()` function. +Exceptions can be reported without throwing them using the `process()` method of the {b`Tempest\Core\Exceptions\ExceptionProcessor`} interface. This allows putting exceptions through the reporting process without stopping the application's execution. -```php -use function Tempest\report; - -try { - // Some code that may throw an exception -} catch (SomethingFailed $e) { - report($e); -} -``` - -## Disabling default logging - -Exception processors are discovered when Tempest boots, then stored in the `exceptionProcessors` property of {`Tempest\Core\AppConfig`}. The default logging processor, {b`Tempest\Core\LogExceptionProcessor`}, is automatically added to the list of processors. - -To disable exception logging, you may remove it in a `KernelEvent::BOOTED` event handler: +```php app/CreateUser.php +use Tempest\Core\Exceptions\ExceptionProcessor; -```php -use Tempest\Core\AppConfig; -use Tempest\Core\KernelEvent; -use Tempest\Core\LogExceptionProcessor; -use Tempest\EventBus\EventHandler; -use Tempest\Support\Arr; - -final readonly class DisableExceptionLogging +final readonly class CreateUser { public function __construct( - private AppConfig $appConfig, - ) { - } + private ExceptionProcessor $exceptions + ) {} - #[EventHandler(KernelEvent::BOOTED)] public function __invoke(): void { - Arr\forget_values($this->appConfig->exceptionProcessors, LogExceptionProcessor::class); + try { + // Some code that may throw an exception + } catch (SomethingFailed $somethingFailed) { + $this->exceptions->process($somethingFailed); + } } } ``` +## Disabling exception logging + +The default logging reporter, {b`Tempest\Core\Exceptions\ExceptionReporter`}, is automatically added to the list of reporters. To disable it, create an {b`Tempest\Core\Exceptions\ExceptionsConfig`} [configuration file](../1-essentials/06-configuration.md#configuration-files) and set `logging` to `false`: + +```php app/exceptions.config.php +use Tempest\Core\Exceptions\ExceptionsConfig; + +return new ExceptionsConfig( + logging: false, +); +``` + ## Adding context to exceptions -Sometimes, an exception may have information that you would like to be logged. By implementing the {`Tempest\Core\HasContext`} interface on an exception class, you can provide additional context that will be logged—and available to other processors. +Exceptions can provide additional information for logging by implementing the {`Tempest\Core\ProvidesContext`} interface. The context data becomes available to exception processors. ```php -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; -final readonly class UserWasNotFound extends Exception implements HasContext +final readonly class UserWasNotFound extends Exception implements ProvidesContext { public function __construct(private string $userId) { @@ -76,47 +70,68 @@ final readonly class UserWasNotFound extends Exception implements HasContext } ``` -## Customizing the error page +## Customizing exception rendering -In production, when an uncaught exception occurs, Tempest displays a minimalistic, generic error page. You may customize this behavior by adding a middleware dedicated to catching {b`Tempest\Http\HttpRequestFailed`} exceptions. +Exception renderers provide control over how exceptions are rendered in HTTP responses. Custom renderers can be used to display specialized error pages for specific exception types, format errors differently based on content type (JSON, HTML, XML), or provide user-friendly error messages for common scenarios like 404 or validation failures. -For instance, you may display a branded error page by providing a view: +To create a custom renderer, implement the {b`Tempest\Router\Exceptions\ExceptionRenderer`} interface. It requires a `canRender()` method to determine if the renderer can handle the given exception and request, and a `render()` method to produce the response: -```php +```php app/NotFoundExceptionRenderer.php +use Tempest\Http\ContentType; use Tempest\Http\HttpRequestFailed; -use Tempest\Router\HttpMiddleware; +use Tempest\Http\Request; +use Tempest\Http\Response; +use Tempest\Http\Responses\NotFound; +use Tempest\Http\Status; +use Tempest\Router\Exceptions\ExceptionRenderer; +use Throwable; + use function Tempest\view; -final class CatchHttpRequestFailuresMiddleware implements HttpMiddleware +final class NotFoundExceptionRenderer implements ExceptionRenderer { - public function __invoke(Request $request, HttpMiddlewareCallable $next): Response + public function canRender(Throwable $throwable, Request $request): bool { - try { - return $next($request); - } catch (HttpRequestFailed $failure) { - return new GenericResponse( - status: $failure->status, - body: view('./error.view.php', failure: $failure), - ); + if (! $request->accepts(ContentType::HTML)) { + return false; + } + + if (! $throwable instanceof HttpRequestFailed) { + return false; } + + return $throwable->status === Status::NOT_FOUND; + } + + public function render(Throwable $throwable): Response + { + return new NotFound( + body: view('./404.view.php'), + ); } } ``` +:::info +Exception renderers are automatically [discovered](../4-internals/02-discovery.md) and checked in {b`#[Tempest\Core\Priority]`} order. +::: + ## Testing -By extending {`Tempest\Framework\Testing\IntegrationTest`} from your test case, you gain access to the exception testing utilities, which allow you to make assertions about reported exceptions. +By extending {`Tempest\Framework\Testing\IntegrationTest`} from a test case, exception testing utilities may be accessed for making assertions about processed exceptions. ```php -// Prevents exceptions from being actually processed -$this->exceptions->preventReporting(); +// Allows exceptions to be processed during tests +$this->exceptions->allowProcessing(); -// Asserts that the exception was reported -$this->exceptions->assertReported(UserNotFound::class); +// Assert that the exception was processed +$this->exceptions->assertProcessed(UserNotFound::class); -// Asserts that the exception was not reported -$this->exceptions->assertNotReported(UserNotFound::class); +// Assert that the exception was not processed +$this->exceptions->assertNotProcessed(UserNotFound::class); -// Asserts that no exceptions were reported -$this->exceptions->assertNothingReported(); +// Assert that no exceptions were processed +$this->exceptions->assertNothingProcessed(); ``` + +By default, Tempest disables exception processing during tests. It is recommended to unit-test your own {b`Tempest\Core\Exceptions\ExceptionReporter`} implementations. diff --git a/packages/console/src/Exceptions/ConsoleExceptionHandler.php b/packages/console/src/Exceptions/ConsoleExceptionHandler.php index 33b7df5a4..fdea32aa7 100644 --- a/packages/console/src/Exceptions/ConsoleExceptionHandler.php +++ b/packages/console/src/Exceptions/ConsoleExceptionHandler.php @@ -11,7 +11,7 @@ use Tempest\Console\Input\ConsoleArgumentBag; use Tempest\Container\Tag; use Tempest\Core\ExceptionHandler; -use Tempest\Core\ExceptionReporter; +use Tempest\Core\Exceptions\ExceptionProcessor; use Tempest\Core\Kernel; use Tempest\Highlight\Escape; use Tempest\Highlight\Highlighter; @@ -28,13 +28,13 @@ public function __construct( private Highlighter $highlighter, private Console $console, private ConsoleArgumentBag $argumentBag, - private ExceptionReporter $exceptionReporter, + private ExceptionProcessor $exceptionProcessor, ) {} public function handle(Throwable $throwable): void { try { - $this->exceptionReporter->report($throwable); + $this->exceptionProcessor->process($throwable); $this->console ->writeln() diff --git a/packages/core/src/AppConfig.php b/packages/core/src/AppConfig.php index ab1c1dc83..b4f9d21bc 100644 --- a/packages/core/src/AppConfig.php +++ b/packages/core/src/AppConfig.php @@ -19,9 +19,6 @@ public function __construct( ?string $baseUri = null, - /** @var class-string<\Tempest\Core\ExceptionProcessor>[] */ - public array $exceptionProcessors = [], - /** * @var array> */ diff --git a/packages/core/src/ExceptionProcessor.php b/packages/core/src/ExceptionProcessor.php deleted file mode 100644 index 23c53883c..000000000 --- a/packages/core/src/ExceptionProcessor.php +++ /dev/null @@ -1,13 +0,0 @@ -reported[] = $throwable; - - if (! $this->enabled) { - return; - } - - /** @var class-string<\Tempest\Core\ExceptionProcessor> $processor */ - foreach ($this->appConfig->exceptionProcessors as $processor) { - $handler = $this->container->get($processor); - $handler->process($throwable); - } - } -} diff --git a/packages/core/src/ExceptionTester.php b/packages/core/src/ExceptionTester.php deleted file mode 100644 index 25f41e3b2..000000000 --- a/packages/core/src/ExceptionTester.php +++ /dev/null @@ -1,90 +0,0 @@ -reporter->enabled = ! $prevent; - - return $this; - } - - /** - * Asserts that the given `$exception` has been reported. - * - * @param null|Closure $callback A callback accepting the exception instance. The assertion fails if the callback returns `false`. - * @param null|int $count If specified, the assertion fails if the exception has been reported a different amount of times. - */ - public function assertReported(string|object $exception, ?Closure $callback = null, ?int $count = null): self - { - Assert::assertNotNull( - actual: $reports = $this->findReports($exception), - message: 'The exception was not reported.', - ); - - if ($count !== null) { - Assert::assertCount($count, $reports, sprintf('Expected %s report(s), got %s.', $count, count($reports))); - } - - if ($callback !== null) { - foreach ($reports as $dispatch) { - Assert::assertNotFalse($callback($dispatch), 'The callback failed.'); - } - } - - return $this; - } - - /** - * Asserts that the given `$exception` was not reported. - */ - public function assertNotReported(string|object $exception): self - { - Assert::assertEmpty( - actual: $this->findReports($exception), - message: 'The exception was reported.', - ); - - return $this; - } - - /** - * Asserts that no exceptions were reported. - */ - public function assertNothingReported(): self - { - Assert::assertEmpty( - actual: $this->reporter->reported, - message: sprintf('There are unexpected reported exceptions: [%s]', implode(', ', $this->reporter->reported)), - ); - - return $this; - } - - private function findReports(string|object $exception): array - { - return array_filter($this->reporter->reported, function (string|object $reported) use ($exception) { - if ($reported === $exception) { - return true; - } - - if (class_exists($exception) && is_a($reported, $exception, allow_string: true)) { - return true; - } - - return false; - }); - } -} diff --git a/packages/core/src/ExceptionHandlerInitializer.php b/packages/core/src/Exceptions/ExceptionHandlerInitializer.php similarity index 88% rename from packages/core/src/ExceptionHandlerInitializer.php rename to packages/core/src/Exceptions/ExceptionHandlerInitializer.php index a4a291cd1..7f0cb8723 100644 --- a/packages/core/src/ExceptionHandlerInitializer.php +++ b/packages/core/src/Exceptions/ExceptionHandlerInitializer.php @@ -1,11 +1,12 @@ get(AppConfig::class); - return match (true) { PHP_SAPI === 'cli' => $container->get(ConsoleExceptionHandler::class), default => $container->get(HttpExceptionHandler::class), diff --git a/packages/core/src/Exceptions/ExceptionProcessor.php b/packages/core/src/Exceptions/ExceptionProcessor.php new file mode 100644 index 000000000..7ccdfb089 --- /dev/null +++ b/packages/core/src/Exceptions/ExceptionProcessor.php @@ -0,0 +1,17 @@ +get(ExceptionsConfig::class), + container: $container, + ); + } +} diff --git a/packages/core/src/Exceptions/ExceptionReporter.php b/packages/core/src/Exceptions/ExceptionReporter.php new file mode 100644 index 000000000..9d40e3c0d --- /dev/null +++ b/packages/core/src/Exceptions/ExceptionReporter.php @@ -0,0 +1,16 @@ +implements(ExceptionProcessor::class)) { + if ($class->implements(ExceptionReporter::class)) { $this->discoveryItems->add($location, $class->getName()); } } @@ -28,7 +27,7 @@ public function discover(DiscoveryLocation $location, ClassReflector $class): vo public function apply(): void { foreach ($this->discoveryItems as $className) { - $this->appConfig->exceptionProcessors[] = $className; + $this->config->addReporter($className); } } } diff --git a/packages/core/src/Exceptions/ExceptionTester.php b/packages/core/src/Exceptions/ExceptionTester.php new file mode 100644 index 000000000..0290234cd --- /dev/null +++ b/packages/core/src/Exceptions/ExceptionTester.php @@ -0,0 +1,118 @@ +recordExceptions(); + $this->processor->enabled = $allow; + + return $this; + } + + /** + * Prevents exceptions from being processed, which means they will not go through the reporting process. This is the default behavior. + */ + public function preventProcessing(bool $prevent = true): self + { + return $this->allowProcessing(! $prevent); + } + + /** + * Asserts that the given `$exception` has been processed. + * + * @param null|Closure $callback A callback accepting the exception instance. The assertion fails if the callback returns `false`. + * @param null|int $count If specified, the assertion fails if the exception has been processed a different amount of times. + */ + public function assertProcessed(string|object $exception, ?Closure $callback = null, ?int $count = null): self + { + Assert::assertNotNull( + actual: $reports = $this->findRecordedProcessings($exception), + message: 'The exception was not processed.', + ); + + if ($count !== null) { + Assert::assertCount($count, $reports, sprintf('Expected %s report(s), got %s.', $count, count($reports))); + } + + if ($callback !== null) { + foreach ($reports as $dispatch) { + Assert::assertNotFalse($callback($dispatch), 'The callback failed.'); + } + } + + return $this; + } + + /** + * Asserts that the given `$exception` was not processed. + */ + public function assertNotProcessed(string|object $exception): self + { + Assert::assertEmpty( + actual: $this->findRecordedProcessings($exception), + message: 'The exception was processed.', + ); + + return $this; + } + + /** + * Asserts that no exceptions were processed. + */ + public function assertNothingProcessed(): self + { + Assert::assertEmpty( + actual: $this->processor->processed, + message: sprintf('There are unexpected processed exceptions: [%s]', implode(', ', $this->processor->processed)), + ); + + return $this; + } + + private function findRecordedProcessings(string|object $exception): array + { + return array_filter($this->processor->processed, function (string|object $reported) use ($exception) { + if ($reported === $exception) { + return true; + } + + if (class_exists($exception) && is_a($reported, $exception, allow_string: true)) { + return true; + } + + return false; + }); + } + + /** + * Records exceptions being reported. + */ + private function recordExceptions(): self + { + $this->container->unregister(ExceptionProcessor::class); + $this->processor = new TestingExceptionProcessor( + processor: $this->container->get(ExceptionProcessor::class), + enabled: true, + ); + + $this->container->singleton(ExceptionProcessor::class, $this->processor); + + return $this; + } +} diff --git a/packages/core/src/Exceptions/ExceptionsConfig.php b/packages/core/src/Exceptions/ExceptionsConfig.php new file mode 100644 index 000000000..9d0c651ed --- /dev/null +++ b/packages/core/src/Exceptions/ExceptionsConfig.php @@ -0,0 +1,39 @@ +> $reporters + * @param bool $logging Whether exception logging is enabled. + */ + public function __construct( + public bool $logging = true, + public array $reporters = [], + ) {} + + /** + * Adds an exception reporter to the configuration. + * + * @param class-string $reporter + */ + public function addReporter(string $reporter): void + { + if ($this->logging === false && $reporter === LoggingExceptionReporter::class) { + return; + } + + $this->reporters[] = $reporter; + } + + /** + * Replaces the list of exception reporters. + * + * @param array> $reporters + */ + public function setReporters(array $reporters): void + { + $this->reporters = $reporters; + } +} diff --git a/packages/core/src/Exceptions/GenericExceptionProcessor.php b/packages/core/src/Exceptions/GenericExceptionProcessor.php new file mode 100644 index 000000000..fa9e72334 --- /dev/null +++ b/packages/core/src/Exceptions/GenericExceptionProcessor.php @@ -0,0 +1,31 @@ +config->reporters as $reporter) { + try { + $handler = $this->container->get($reporter); + $handler->report($throwable); + } catch (Throwable) { + // @mago-expect lint:no-empty-catch-clause + // If something went wrong with the exception reporter, + // we silently ignore it to avoid infinite loops. + } + } + } +} diff --git a/packages/core/src/LogExceptionProcessor.php b/packages/core/src/Exceptions/LoggingExceptionReporter.php similarity index 62% rename from packages/core/src/LogExceptionProcessor.php rename to packages/core/src/Exceptions/LoggingExceptionReporter.php index f851866de..ca88b7f24 100644 --- a/packages/core/src/LogExceptionProcessor.php +++ b/packages/core/src/Exceptions/LoggingExceptionReporter.php @@ -1,27 +1,28 @@ $throwable::class, 'exception' => $throwable->getMessage(), 'trace' => $throwable->getTraceAsString(), - 'context' => $throwable instanceof HasContext + 'context' => $throwable instanceof ProvidesContext ? $throwable->context() : [], ]; diff --git a/packages/core/src/Exceptions/TestingExceptionProcessor.php b/packages/core/src/Exceptions/TestingExceptionProcessor.php new file mode 100644 index 000000000..0635f5e03 --- /dev/null +++ b/packages/core/src/Exceptions/TestingExceptionProcessor.php @@ -0,0 +1,29 @@ + List of processed exceptions. + */ + private(set) array $processed = []; + + public function __construct( + private(set) ExceptionProcessor $processor, + public bool $enabled, + ) {} + + public function process(Throwable $throwable): void + { + $this->processed[] = $throwable; + + if ($this->enabled === false) { + return; + } + + $this->processor->process($throwable); + } +} diff --git a/packages/core/src/Exceptions/exceptions.config.php b/packages/core/src/Exceptions/exceptions.config.php new file mode 100644 index 000000000..d7dd7f74f --- /dev/null +++ b/packages/core/src/Exceptions/exceptions.config.php @@ -0,0 +1,5 @@ +add($closure); } - - /** - * Passes the given exception through registered exception processors. - */ - function report(Throwable $throwable): void - { - get(ExceptionReporter::class)->report($throwable); - } } diff --git a/packages/cryptography/src/Encryption/Exceptions/DecryptionFailed.php b/packages/cryptography/src/Encryption/Exceptions/DecryptionFailed.php index a206fd55e..2df2b93a6 100644 --- a/packages/cryptography/src/Encryption/Exceptions/DecryptionFailed.php +++ b/packages/cryptography/src/Encryption/Exceptions/DecryptionFailed.php @@ -3,9 +3,9 @@ namespace Tempest\Cryptography\Encryption\Exceptions; use Exception; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; -final class DecryptionFailed extends Exception implements EncryptionException, HasContext +final class DecryptionFailed extends Exception implements EncryptionException, ProvidesContext { public function __construct( string $message, diff --git a/packages/cryptography/src/Encryption/Exceptions/EncryptionFailed.php b/packages/cryptography/src/Encryption/Exceptions/EncryptionFailed.php index f46f8e552..d8ad49f22 100644 --- a/packages/cryptography/src/Encryption/Exceptions/EncryptionFailed.php +++ b/packages/cryptography/src/Encryption/Exceptions/EncryptionFailed.php @@ -3,9 +3,9 @@ namespace Tempest\Cryptography\Encryption\Exceptions; use Exception; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; -final class EncryptionFailed extends Exception implements EncryptionException, HasContext +final class EncryptionFailed extends Exception implements EncryptionException, ProvidesContext { public function __construct( string $message, diff --git a/packages/database/src/Exceptions/QueryWasInvalid.php b/packages/database/src/Exceptions/QueryWasInvalid.php index f6745fe32..5afe13807 100644 --- a/packages/database/src/Exceptions/QueryWasInvalid.php +++ b/packages/database/src/Exceptions/QueryWasInvalid.php @@ -6,10 +6,10 @@ use Exception; use PDOException; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; use Tempest\Database\Query; -final class QueryWasInvalid extends Exception implements HasContext +final class QueryWasInvalid extends Exception implements ProvidesContext { public readonly PDOException $pdoException; diff --git a/packages/http/src/HttpRequestFailed.php b/packages/http/src/HttpRequestFailed.php index 91b905e64..5d05900c6 100644 --- a/packages/http/src/HttpRequestFailed.php +++ b/packages/http/src/HttpRequestFailed.php @@ -3,13 +3,13 @@ namespace Tempest\Http; use Exception; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; use Throwable; /** * Represents an HTTP exception. */ -final class HttpRequestFailed extends Exception implements HasContext +final class HttpRequestFailed extends Exception implements ProvidesContext { public function __construct( private(set) readonly Status $status, diff --git a/packages/http/src/IsResponse.php b/packages/http/src/IsResponse.php index 92b1bdc50..117a3c212 100644 --- a/packages/http/src/IsResponse.php +++ b/packages/http/src/IsResponse.php @@ -35,7 +35,10 @@ trait IsResponse public function getHeader(string $name): ?Header { - return $this->headers[$name] ?? null; + return array_find( + array: $this->headers, + callback: fn (Header $header) => strcasecmp($header->name, $name) === 0, + ); } public function addHeader(string $key, string $value): self diff --git a/packages/intl/src/MessageFormat/Formatter/FormattingException.php b/packages/intl/src/MessageFormat/Formatter/FormattingException.php index 7a9ed0c5d..abb0c1de0 100644 --- a/packages/intl/src/MessageFormat/Formatter/FormattingException.php +++ b/packages/intl/src/MessageFormat/Formatter/FormattingException.php @@ -2,9 +2,9 @@ namespace Tempest\Intl\MessageFormat\Formatter; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; -final class FormattingException extends \Exception implements HasContext +final class FormattingException extends \Exception implements ProvidesContext { public function __construct( string $message, diff --git a/packages/process/src/Testing/ProcessExecutionWasForbidden.php b/packages/process/src/Testing/ProcessExecutionWasForbidden.php index cfb26db9d..e9f13abf4 100644 --- a/packages/process/src/Testing/ProcessExecutionWasForbidden.php +++ b/packages/process/src/Testing/ProcessExecutionWasForbidden.php @@ -3,13 +3,13 @@ namespace Tempest\Process\Testing; use Exception; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; use Tempest\Process\Exceptions\ProcessException; use Tempest\Process\PendingProcess; use function Tempest\Support\arr; -final class ProcessExecutionWasForbidden extends Exception implements ProcessException, HasContext +final class ProcessExecutionWasForbidden extends Exception implements ProcessException, ProvidesContext { private function __construct( string $message, diff --git a/packages/router/src/ExceptionRendererDiscovery.php b/packages/router/src/ExceptionRendererDiscovery.php new file mode 100644 index 000000000..91d2a3435 --- /dev/null +++ b/packages/router/src/ExceptionRendererDiscovery.php @@ -0,0 +1,39 @@ +implements(ExceptionRenderer::class)) { + return; + } + + $priority = $class->getAttribute(Priority::class)?->priority ?? Priority::NORMAL; + + $this->discoveryItems->add($location, [$class->getName(), $priority]); + } + + public function apply(): void + { + foreach ($this->discoveryItems as [$className, $priority]) { + $this->routeConfig->addExceptionRenderer($className, $priority); + } + } +} diff --git a/packages/router/src/Exceptions/ExceptionRenderer.php b/packages/router/src/Exceptions/ExceptionRenderer.php new file mode 100644 index 000000000..5219680f1 --- /dev/null +++ b/packages/router/src/Exceptions/ExceptionRenderer.php @@ -0,0 +1,25 @@ +accepts(ContentType::HTML, ContentType::XHTML); + } + public function render(Throwable $throwable): Response { if ($throwable instanceof ConvertsToResponse) { @@ -44,7 +50,6 @@ public function render(Throwable $throwable): Response return match (true) { $throwable instanceof ValidationFailed => new Invalid($throwable->subject, $throwable->failingRules, $throwable->targetClass), - $throwable instanceof RouteBindingFailed => $this->renderErrorResponse(Status::NOT_FOUND), $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), diff --git a/packages/router/src/Exceptions/HttpExceptionHandler.php b/packages/router/src/Exceptions/HttpExceptionHandler.php index 6869d79c2..d5d4918c2 100644 --- a/packages/router/src/Exceptions/HttpExceptionHandler.php +++ b/packages/router/src/Exceptions/HttpExceptionHandler.php @@ -4,7 +4,7 @@ use Tempest\Container\Container; use Tempest\Core\ExceptionHandler; -use Tempest\Core\ExceptionReporter; +use Tempest\Core\Exceptions\ExceptionProcessor; use Tempest\Core\Kernel; use Tempest\Http\ContentType; use Tempest\Http\GenericResponse; @@ -12,6 +12,7 @@ use Tempest\Http\Response; use Tempest\Http\Status; use Tempest\Router\ResponseSender; +use Tempest\Router\RouteConfig; use Throwable; final readonly class HttpExceptionHandler implements ExceptionHandler @@ -20,7 +21,8 @@ public function __construct( private ResponseSender $responseSender, private Kernel $kernel, private Container $container, - private ExceptionReporter $exceptionReporter, + private ExceptionProcessor $exceptionProcessor, + private RouteConfig $routeConfig, private JsonExceptionRenderer $jsonHandler, private HtmlExceptionRenderer $htmlHandler, ) {} @@ -30,7 +32,7 @@ public function handle(Throwable $throwable): void $request = $this->container->get(Request::class); try { - $this->exceptionReporter->report($throwable); + $this->exceptionProcessor->process($throwable); $this->responseSender->send($this->renderResponse($request, $throwable)); } finally { $this->kernel->shutdown(); @@ -39,10 +41,27 @@ public function handle(Throwable $throwable): void public function renderResponse(Request $request, Throwable $throwable): Response { - return match (true) { - $request->accepts(ContentType::HTML, ContentType::XHTML) => $this->htmlHandler->render($throwable), - $request->accepts(ContentType::JSON) => $this->jsonHandler->render($throwable), - default => new GenericResponse(status: Status::NOT_ACCEPTABLE), - }; + // Sort by priority ascending (HIGHEST = 0 checked first, LOWEST = 10000 checked last) + ksort($this->routeConfig->exceptionRenderers); + + foreach ($this->routeConfig->exceptionRenderers as $rendererClass) { + /** @var ExceptionRenderer $renderer */ + $renderer = $this->container->get($rendererClass); + + if ($renderer->canRender($throwable, $request)) { + return $renderer->render($throwable); + } + } + + // Fall back to default renderers + if ($this->htmlHandler->canRender($throwable, $request)) { + return $this->htmlHandler->render($throwable); + } + + if ($this->jsonHandler->canRender($throwable, $request)) { + return $this->jsonHandler->render($throwable); + } + + return new GenericResponse(status: Status::NOT_ACCEPTABLE); } } diff --git a/packages/router/src/Exceptions/JsonExceptionRenderer.php b/packages/router/src/Exceptions/JsonExceptionRenderer.php index 65f204e6e..6ee55f0cb 100644 --- a/packages/router/src/Exceptions/JsonExceptionRenderer.php +++ b/packages/router/src/Exceptions/JsonExceptionRenderer.php @@ -4,7 +4,9 @@ use Tempest\Auth\Exceptions\AccessWasDenied; use Tempest\Core\AppConfig; +use Tempest\Http\ContentType; use Tempest\Http\HttpRequestFailed; +use Tempest\Http\Request; use Tempest\Http\Response; use Tempest\Http\Responses\Json; use Tempest\Http\Responses\NotFound; @@ -16,20 +18,23 @@ use Tempest\Validation\Validator; use Throwable; -final readonly class JsonExceptionRenderer +final readonly class JsonExceptionRenderer implements ExceptionRenderer { public function __construct( private AppConfig $appConfig, private Validator $validator, ) {} + public function canRender(Throwable $throwable, Request $request): bool + { + return $request->accepts(ContentType::JSON); + } + public function render(Throwable $throwable): Response { return match (true) { - $throwable instanceof ConvertsToResponse => $throwable->toResponse(), $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), $throwable instanceof ValidationFailed => $this->renderValidationErrorResponse($throwable), - $throwable instanceof RouteBindingFailed => $this->renderErrorResponse(Status::NOT_FOUND), $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), default => $this->renderErrorResponse(Status::INTERNAL_SERVER_ERROR, $throwable), @@ -61,6 +66,7 @@ private function renderErrorResponse(Status $status, ?Throwable $exception = nul if ($this->appConfig->environment->isLocal() && $exception !== null) { $response['debug'] = [ + 'message' => $exception->getMessage(), 'exception' => get_class($exception), 'file' => $exception->getFile(), 'line' => $exception->getLine(), diff --git a/packages/router/src/HandleRouteExceptionMiddleware.php b/packages/router/src/HandleRouteExceptionMiddleware.php index c4663342a..084f6a460 100644 --- a/packages/router/src/HandleRouteExceptionMiddleware.php +++ b/packages/router/src/HandleRouteExceptionMiddleware.php @@ -6,7 +6,9 @@ use Tempest\Http\HttpRequestFailed; use Tempest\Http\Request; use Tempest\Http\Response; +use Tempest\Http\Responses\NotFound; use Tempest\Router\Exceptions\ConvertsToResponse; +use Tempest\Router\Exceptions\RouteBindingFailed; #[Priority(Priority::FRAMEWORK - 10)] final readonly class HandleRouteExceptionMiddleware implements HttpMiddleware @@ -26,12 +28,19 @@ public function __invoke(Request $request, HttpMiddlewareCallable $next): Respon ); } + /** + * Some exceptions are not necessary to be thrown as-is, so we catch them here and convert them to equivalent responses. + * - `ConvertsToResponse` is straightforward, this exception is made to return its own response. + * - `RouteBindingFailed` would require to be handled manually in renderers, it's better DX to simply return a 404. + */ private function forward(Request $request, HttpMiddlewareCallable $next): Response { try { return $next($request); } catch (ConvertsToResponse $convertsToResponse) { return $convertsToResponse->toResponse(); + } catch (RouteBindingFailed) { + return new NotFound(); } } } diff --git a/packages/router/src/RouteConfig.php b/packages/router/src/RouteConfig.php index a3364f29d..2a8232708 100644 --- a/packages/router/src/RouteConfig.php +++ b/packages/router/src/RouteConfig.php @@ -24,6 +24,9 @@ public function __construct( /** @var class-string<\Tempest\Router\ResponseProcessor>[] */ public array $responseProcessors = [], + /** @var array> */ + public array $exceptionRenderers = [], + /** @var Middleware<\Tempest\Router\HttpMiddleware> */ public Middleware $middleware = new Middleware( HandleRouteExceptionMiddleware::class, @@ -45,4 +48,9 @@ public function addResponseProcessor(string $responseProcessor): void { $this->responseProcessors[] = $responseProcessor; } + + public function addExceptionRenderer(string $exceptionRenderer, int $priority): void + { + $this->exceptionRenderers[$priority] = $exceptionRenderer; + } } diff --git a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php index 69f73399c..56ad13419 100644 --- a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php +++ b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php @@ -139,11 +139,11 @@ public function sendRequest(Request $request): TestResponseHelper try { $response = $router->dispatch(map($request)->with(RequestToPsrRequestMapper::class)->do()); - } catch (Throwable $exception) { - $this->container->get(HttpExceptionHandler::class)->renderResponse($request, $exception); + } catch (Throwable $throwable) { + $this->container->get(HttpExceptionHandler::class)->renderResponse($request, $throwable); return new TestResponseHelper( - response: $this->container->get(HttpExceptionHandler::class)->renderResponse($request, $exception), + response: $this->container->get(HttpExceptionHandler::class)->renderResponse($request, $throwable), request: $request, container: $this->container, ); diff --git a/src/Tempest/Framework/Testing/IntegrationTest.php b/src/Tempest/Framework/Testing/IntegrationTest.php index fb085ac68..e8bc5d0f7 100644 --- a/src/Tempest/Framework/Testing/IntegrationTest.php +++ b/src/Tempest/Framework/Testing/IntegrationTest.php @@ -16,7 +16,7 @@ use Tempest\Console\OutputBuffer; use Tempest\Console\Testing\ConsoleTester; use Tempest\Container\GenericContainer; -use Tempest\Core\ExceptionTester; +use Tempest\Core\Exceptions\ExceptionTester; use Tempest\Core\FrameworkKernel; use Tempest\Core\Kernel; use Tempest\Database\Migrations\CreateMigrationsTable; @@ -149,7 +149,7 @@ protected function setupTesters(): self $this->process->disableProcessExecution(); $this->exceptions = $this->container->get(ExceptionTester::class); - $this->exceptions->preventReporting(); + $this->exceptions->preventProcessing(); $this->vite = $this->container->get(ViteTester::class); $this->vite->preventTagResolution(); diff --git a/tests/Integration/Core/ExceptionProcessorTest.php b/tests/Integration/Core/ExceptionProcessorTest.php index 55669e713..fb4481ce8 100644 --- a/tests/Integration/Core/ExceptionProcessorTest.php +++ b/tests/Integration/Core/ExceptionProcessorTest.php @@ -2,16 +2,38 @@ namespace Tests\Tempest\Integration\Core; -use Tempest\Core\AppConfig; -use Tempest\Core\LogExceptionProcessor; +use Exception; +use PHPUnit\Framework\Attributes\PostCondition; +use PHPUnit\Framework\Attributes\PreCondition; +use PHPUnit\Framework\Attributes\Test; +use Tempest\Core\Exceptions\ExceptionProcessor; +use Tempest\Core\Exceptions\ExceptionsConfig; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; +use Tests\Tempest\Integration\Http\Fixtures\NullExceptionReporter; final class ExceptionProcessorTest extends FrameworkIntegrationTestCase { - public function test_exception_processors_are_discovered(): void + #[PreCondition] + protected function configure(): void { - $processors = $this->container->get(AppConfig::class)->exceptionProcessors; + $this->exceptions->allowProcessing(); + $this->container->get(ExceptionsConfig::class)->setReporters([NullExceptionReporter::class]); + } + + #[PostCondition] + protected function cleanup(): void + { + NullExceptionReporter::$exceptions = []; + } + + #[Test] + public function exception_reporter_processes_exception_processors(): void + { + $processor = $this->container->get(ExceptionProcessor::class); + $processor->process(new Exception('foo')); - $this->assertContains(LogExceptionProcessor::class, $processors); + $this->assertCount(1, NullExceptionReporter::$exceptions); + $this->assertInstanceOf(Exception::class, NullExceptionReporter::$exceptions[0]); + $this->assertSame('foo', NullExceptionReporter::$exceptions[0]->getMessage()); } } diff --git a/tests/Integration/Core/ExceptionReporterTest.php b/tests/Integration/Core/ExceptionReporterTest.php index 5501209ee..f53d24c5d 100644 --- a/tests/Integration/Core/ExceptionReporterTest.php +++ b/tests/Integration/Core/ExceptionReporterTest.php @@ -2,59 +2,24 @@ namespace Tests\Tempest\Integration\Core; -use Exception; -use Tempest\Core\AppConfig; -use Tempest\Core\ExceptionReporter; +use PHPUnit\Framework\Attributes\Test; +use Tempest\Core\Exceptions\ExceptionsConfig; +use Tempest\Core\Exceptions\LoggingExceptionReporter; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; -use Tests\Tempest\Integration\Http\Fixtures\NullExceptionProcessor; - -use function Tempest\report; final class ExceptionReporterTest extends FrameworkIntegrationTestCase { - protected function setUp(): void + #[Test] + public function logging_reporter_is_discovered(): void { - parent::setUp(); - - $this->exceptions->preventReporting(prevent: false); - $this->container->get(AppConfig::class)->exceptionProcessors = [NullExceptionProcessor::class]; + $this->assertContains(LoggingExceptionReporter::class, $this->container->get(ExceptionsConfig::class)->reporters); } - protected function tearDown(): void + #[Test] + public function logging_reporter_can_be_disabled_through_config(): void { - parent::tearDown(); - - NullExceptionProcessor::$exceptions = []; - } - - public function test_exception_reporter_processes_exception_processors(): void - { - /** @var ExceptionReporter $reporter */ - $reporter = $this->container->get(ExceptionReporter::class); - $reporter->report(new Exception('foo')); - - $this->assertCount(1, NullExceptionProcessor::$exceptions); - $this->assertInstanceOf(Exception::class, NullExceptionProcessor::$exceptions[0]); - $this->assertSame('foo', NullExceptionProcessor::$exceptions[0]->getMessage()); - - $this->assertCount(1, $reporter->reported); - $this->assertInstanceOf(Exception::class, $reporter->reported[0]); - $this->assertSame('foo', $reporter->reported[0]->getMessage()); - } - - public function test_report_function(): void - { - report(new Exception('foo')); - - $this->assertCount(1, NullExceptionProcessor::$exceptions); - $this->assertInstanceOf(Exception::class, NullExceptionProcessor::$exceptions[0]); - $this->assertSame('foo', NullExceptionProcessor::$exceptions[0]->getMessage()); - - /** @var ExceptionReporter $reporter */ - $reporter = $this->container->get(ExceptionReporter::class); + $this->container->config(new ExceptionsConfig(logging: false)); - $this->assertCount(1, $reporter->reported); - $this->assertInstanceOf(Exception::class, $reporter->reported[0]); - $this->assertSame('foo', $reporter->reported[0]->getMessage()); + $this->assertEmpty($this->container->get(ExceptionsConfig::class)->reporters); } } diff --git a/tests/Integration/Core/ExceptionTesterTest.php b/tests/Integration/Core/ExceptionTesterTest.php index 0b65e981b..c39aa9e18 100644 --- a/tests/Integration/Core/ExceptionTesterTest.php +++ b/tests/Integration/Core/ExceptionTesterTest.php @@ -4,36 +4,55 @@ use Exception; use InvalidArgumentException; -use Tempest\Core\AppConfig; -use Tempest\Core\ExceptionReporter; +use PHPUnit\Framework\Attributes\PostCondition; +use PHPUnit\Framework\Attributes\PreCondition; +use PHPUnit\Framework\Attributes\Test; +use Tempest\Core\Exceptions\ExceptionProcessor; +use Tempest\Core\Exceptions\ExceptionsConfig; use Tests\Tempest\Integration\FrameworkIntegrationTestCase; -use Tests\Tempest\Integration\Http\Fixtures\NullExceptionProcessor; - -use function Tempest\report; +use Tests\Tempest\Integration\Http\Fixtures\NullExceptionReporter; final class ExceptionTesterTest extends FrameworkIntegrationTestCase { - public function test_assert_reported(): void - { - $this->exceptions->assertNothingReported(); + private ExceptionProcessor $processor { + get => $this->container->get(ExceptionProcessor::class); + } - $this->container->get(ExceptionReporter::class)->report(new Exception('foo')); - report(new Exception('bar')); + #[PreCondition] + protected function configure(): void + { + $this->container + ->get(ExceptionsConfig::class) + ->setReporters([NullExceptionReporter::class]); + } - $this->exceptions->assertReported(Exception::class, count: 2); - $this->exceptions->assertNotReported(InvalidArgumentException::class); + #[PostCondition] + protected function cleanup(): void + { + NullExceptionReporter::$exceptions = []; } - public function test_prevent_reporting(): void + #[Test] + public function assert_reported(): void { - $this->container->get(AppConfig::class)->exceptionProcessors = [NullExceptionProcessor::class]; + $this->exceptions->assertNothingProcessed(); + + $this->processor->process(new Exception('foo')); - $this->exceptions->preventReporting(); + $this->exceptions->assertProcessed(Exception::class, count: 1); + $this->exceptions->assertNotProcessed(InvalidArgumentException::class); + } + + #[Test] + public function prevent_reporting(): void + { + $this->exceptions->preventProcessing(); - $this->container->get(ExceptionReporter::class)->report(new Exception('foo')); + $this->processor->process(new Exception('foo')); - $this->exceptions->assertReported(Exception::class); + $this->exceptions->assertProcessed(Exception::class); + $this->exceptions->assertProcessed(Exception::class, count: 1); - $this->assertEmpty(NullExceptionProcessor::$exceptions); + $this->assertEmpty(NullExceptionReporter::$exceptions); } } diff --git a/tests/Integration/Http/Fixtures/ExceptionWithContext.php b/tests/Integration/Http/Fixtures/ExceptionWithContext.php index 3af7dfaaf..b1dcfd6c9 100644 --- a/tests/Integration/Http/Fixtures/ExceptionWithContext.php +++ b/tests/Integration/Http/Fixtures/ExceptionWithContext.php @@ -3,9 +3,9 @@ namespace Tests\Tempest\Integration\Http\Fixtures; use Exception; -use Tempest\Core\HasContext; +use Tempest\Core\ProvidesContext; -final class ExceptionWithContext extends Exception implements HasContext +final class ExceptionWithContext extends Exception implements ProvidesContext { public function context(): array { diff --git a/tests/Integration/Http/Fixtures/NullExceptionProcessor.php b/tests/Integration/Http/Fixtures/NullExceptionReporter.php similarity index 52% rename from tests/Integration/Http/Fixtures/NullExceptionProcessor.php rename to tests/Integration/Http/Fixtures/NullExceptionReporter.php index 945eed25e..353bdd2c9 100644 --- a/tests/Integration/Http/Fixtures/NullExceptionProcessor.php +++ b/tests/Integration/Http/Fixtures/NullExceptionReporter.php @@ -2,16 +2,18 @@ namespace Tests\Tempest\Integration\Http\Fixtures; -use Tempest\Core\ExceptionProcessor; +use Tempest\Container\Singleton; +use Tempest\Core\Exceptions\ExceptionReporter; use Tempest\Discovery\SkipDiscovery; use Throwable; #[SkipDiscovery] -final class NullExceptionProcessor implements ExceptionProcessor +#[Singleton] +final class NullExceptionReporter implements ExceptionReporter { public static array $exceptions = []; - public function process(Throwable $throwable): void + public function report(Throwable $throwable): void { static::$exceptions[] = $throwable; } diff --git a/tests/Integration/Http/HttpExceptionHandlerTest.php b/tests/Integration/Http/HttpExceptionHandlerTest.php index 932bd0de3..92331affe 100644 --- a/tests/Integration/Http/HttpExceptionHandlerTest.php +++ b/tests/Integration/Http/HttpExceptionHandlerTest.php @@ -6,7 +6,7 @@ use Exception; use PHPUnit\Framework\Attributes\TestWith; use Tempest\Container\Container; -use Tempest\Core\AppConfig; +use Tempest\Core\Exceptions\ExceptionsConfig; use Tempest\Core\FrameworkKernel; use Tempest\Core\Kernel; use Tempest\Http\HttpRequestFailed; @@ -19,7 +19,7 @@ use Tests\Tempest\Integration\FrameworkIntegrationTestCase; use Tests\Tempest\Integration\Http\Fixtures\ExceptionThatConvertsToRedirectResponse; use Tests\Tempest\Integration\Http\Fixtures\ExceptionWithContext; -use Tests\Tempest\Integration\Http\Fixtures\NullExceptionProcessor; +use Tests\Tempest\Integration\Http\Fixtures\NullExceptionReporter; use Throwable; final class HttpExceptionHandlerTest extends FrameworkIntegrationTestCase @@ -110,7 +110,7 @@ public function test_exception_handler_returns_500_by_default(): void }); $this->assertSame(Status::INTERNAL_SERVER_ERROR, $this->response->status); - $this->assertStringContainsString('An unexpected server error occurred', $this->render($this->response->body)); + $this->assertStringContainsString('An unexpected server error occurred', $this->response->body['message']); } #[TestWith([Status::BAD_REQUEST])] @@ -130,9 +130,9 @@ public function test_exception_handler_returns_same_code_as_http_exception(Statu public function test_exception_handler_runs_exception_processors(): void { - $this->exceptions->preventReporting(false); + $this->exceptions->preventProcessing(false); - $this->container->get(AppConfig::class)->exceptionProcessors[] = NullExceptionProcessor::class; + $this->container->get(ExceptionsConfig::class)->setReporters([NullExceptionReporter::class]); $thrown = new ExceptionWithContext(); @@ -141,10 +141,10 @@ public function test_exception_handler_runs_exception_processors(): void $handler->handle($thrown); }); - $this->assertContains($thrown, NullExceptionProcessor::$exceptions); - $this->assertArrayHasKey('foo', NullExceptionProcessor::$exceptions[0]->context()); + $this->assertContains($thrown, NullExceptionReporter::$exceptions); + $this->assertArrayHasKey('foo', NullExceptionReporter::$exceptions[0]->context()); - NullExceptionProcessor::$exceptions = []; + NullExceptionReporter::$exceptions = []; } public function test_exception_handler_returns_unprocessable_for_csrf_mismatch(): void diff --git a/tests/Integration/Router/ExceptionRendererTest.php b/tests/Integration/Router/ExceptionRendererTest.php new file mode 100644 index 000000000..20ee33afd --- /dev/null +++ b/tests/Integration/Router/ExceptionRendererTest.php @@ -0,0 +1,292 @@ +container->singleton(Kernel::class, fn () => new class($this->container->get(FrameworkKernel::class)) implements Kernel { + public const string VERSION = '1.0.0-alpha.6'; + + public string $root; + + public string $internalStorage; + + public array $discoveryLocations; + + public array $discoveryClasses; + + public Container $container; + + public function __construct(FrameworkKernel $kernel) + { + $this->root = $kernel->root; + $this->internalStorage = $kernel->internalStorage; + $this->discoveryLocations = $kernel->discoveryLocations; + $this->discoveryClasses = $kernel->discoveryClasses; + $this->container = $kernel->container; + } + + public static function boot(string $root, array $discoveryLocations = [], ?Container $container = null, ?string $internalStorage = null): self + { + return Kernel::boot($root, $discoveryLocations, $container, $internalStorage); // @phpstan-ignore-line + } + + public function shutdown(int|string $status = ''): never + { + throw new Exception('Shutdown.'); + } + }); + + $this->container->singleton(ResponseSender::class, fn () => new class($this) implements ResponseSender { + public function __construct( + private ExceptionRendererTest $case, + ) {} + + public function send(Response $response): Response + { + $this->case->response = $response; + + return $response; + } + }); + } + + #[Test] + public function custom_json_exception_renderer(): void + { + $routeConfig = $this->container->get(RouteConfig::class); + $routeConfig->addExceptionRenderer(CustomJsonValidationRenderer::class, Priority::HIGH); + + $this->container->singleton( + Request::class, + fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'application/json']), + ); + + $this->callExceptionHandler(function () { + $handler = $this->container->get(HttpExceptionHandler::class); + $handler->handle(new CustomValidationException('Custom validation failed')); + }); + + $body = Json\decode($this->response->body); + + $this->assertSame('json', $body['custom']); + $this->assertSame('Custom validation failed', $body['message']); + $this->assertContains('application/json', $this->response->getHeader('content-type')->values); + $this->assertSame(Status::UNPROCESSABLE_CONTENT, $this->response->status); + } + + #[Test] + public function custom_html_exception_renderer(): void + { + $routeConfig = $this->container->get(RouteConfig::class); + $routeConfig->addExceptionRenderer(CustomHtmlValidationRenderer::class, Priority::HIGH); + + $this->container->singleton( + Request::class, + fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'text/html']), + ); + + $this->callExceptionHandler(function () { + $handler = $this->container->get(HttpExceptionHandler::class); + $handler->handle(new CustomValidationException('Custom validation failed')); + }); + + $this->assertSame(Status::UNPROCESSABLE_CONTENT, $this->response->status); + $this->assertContains('text/html', $this->response->getHeader('content-type')->values); + $this->assertStringContainsString('Custom validation failed', $this->response->body); + } + + #[Test] + public function falls_back_to_default_renderer_when_no_custom_match(): void + { + $routeConfig = $this->container->get(RouteConfig::class); + $routeConfig->addExceptionRenderer(CustomJsonValidationRenderer::class, Priority::HIGH); + + $this->container->singleton( + Request::class, + fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'application/json']), + ); + + $this->callExceptionHandler(function () { + $handler = $this->container->get(HttpExceptionHandler::class); + $handler->handle(new Exception('Regular exception')); + }); + + $this->assertNotNull($this->response, 'Response should not be null'); + $this->assertSame(Status::INTERNAL_SERVER_ERROR, $this->response->status); + $this->assertSame('Regular exception', $this->response->body['message']); + } + + #[Test] + public function priority_ordering(): void + { + $routeConfig = $this->container->get(RouteConfig::class); + $routeConfig->addExceptionRenderer(CustomJsonValidationRenderer::class, Priority::LOW); + $routeConfig->addExceptionRenderer(HighPriorityRenderer::class, Priority::HIGHEST); + + $this->container->singleton( + Request::class, + fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'application/json']), + ); + + $this->callExceptionHandler(function () { + $handler = $this->container->get(HttpExceptionHandler::class); + $handler->handle(new CustomValidationException('Test')); + }); + + $body = Json\decode($this->response->body); + + $this->assertSame('high', $body['priority']); + $this->assertNotNull($this->response, 'Response should not be null'); + } + + #[Test] + public function custom_404_renderer(): void + { + $routeConfig = $this->container->get(RouteConfig::class); + $routeConfig->addExceptionRenderer(Custom404Renderer::class, Priority::HIGH); + + $this->container->singleton( + Request::class, + fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'text/html']), + ); + + $this->callExceptionHandler(function (): void { + $handler = $this->container->get(HttpExceptionHandler::class); + $handler->handle(new HttpRequestFailed(status: Status::NOT_FOUND)); + }); + + $this->assertSame(Status::NOT_FOUND, $this->response->status); + $this->assertStringContainsString('Custom 404 page', (string) $this->response->body); + } + + private function callExceptionHandler(Closure $callback): void + { + try { + $callback(); + } catch (Throwable $throwable) { + $this->assertSame('Shutdown.', $throwable->getMessage()); + } + } +} + +final class CustomValidationException extends Exception +{ +} + +#[Priority(Priority::HIGH)] +final readonly class CustomJsonValidationRenderer implements ExceptionRenderer +{ + public function canRender(Throwable $throwable, Request $request): bool + { + return $throwable instanceof CustomValidationException && $request->accepts(ContentType::JSON); + } + + public function render(Throwable $throwable): Response + { + return new GenericResponse( + status: Status::UNPROCESSABLE_CONTENT, + body: Json\encode(['custom' => 'json', 'message' => $throwable->getMessage()]), + headers: [ + 'Content-Type' => ContentType::JSON->value, + ], + ); + } +} + +#[Priority(Priority::HIGH)] +final readonly class CustomHtmlValidationRenderer implements ExceptionRenderer +{ + public function canRender(Throwable $throwable, Request $request): bool + { + return $throwable instanceof CustomValidationException && $request->accepts(ContentType::HTML); + } + + public function render(Throwable $throwable): Response + { + return new GenericResponse( + status: Status::UNPROCESSABLE_CONTENT, + body: '' . $throwable->getMessage() . '', + headers: [ + 'Content-Type' => ContentType::HTML->value, + ], + ); + } +} + +final readonly class HighPriorityRenderer implements ExceptionRenderer +{ + public function canRender(Throwable $throwable, Request $request): bool + { + return $throwable instanceof CustomValidationException && $request->accepts(ContentType::JSON); + } + + public function render(Throwable $throwable): Response + { + return new GenericResponse( + status: Status::UNPROCESSABLE_CONTENT, + body: Json\encode(['priority' => 'high']), + headers: [ + 'Content-Type' => ContentType::JSON->value, + ], + ); + } +} + +final readonly class Custom404Renderer implements ExceptionRenderer +{ + public function canRender(Throwable $throwable, Request $request): bool + { + if (! $request->accepts(ContentType::HTML)) { + return false; + } + + if (! $throwable instanceof HttpRequestFailed) { + return false; + } + + return $throwable->status === Status::NOT_FOUND; + } + + public function render(Throwable $throwable): Response + { + return new GenericResponse( + status: Status::NOT_FOUND, + body: '

Custom 404 page

The page you are looking for does not exist.

', + headers: [ + 'Content-Type' => ContentType::HTML->value, + ], + ); + } +} From 2aefd865d0e0c4ffeb2e5a9f15d4c4c2b1534584 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Tue, 16 Dec 2025 01:00:39 +0100 Subject: [PATCH 04/23] refactor: stability and test adjustments --- packages/http/src/Header.php | 7 +- packages/http/src/RequestHeaders.php | 7 +- packages/http/src/Responses/Invalid.php | 4 +- .../src/Exceptions/HtmlExceptionRenderer.php | 8 + .../src/Exceptions/HttpExceptionHandler.php | 16 +- .../src/Exceptions/JsonExceptionRenderer.php | 9 +- packages/router/src/RouteConfig.php | 3 +- .../Testing/Http/HttpRouterTester.php | 141 ++++++++++-------- .../Testing/Http/TestResponseHelper.php | 36 +++-- .../Http/ValidationResponseTest.php | 6 +- 10 files changed, 134 insertions(+), 103 deletions(-) diff --git a/packages/http/src/Header.php b/packages/http/src/Header.php index a539500c3..e0ea0dc1f 100644 --- a/packages/http/src/Header.php +++ b/packages/http/src/Header.php @@ -8,7 +8,7 @@ final class Header { public function __construct( public string $name, - /** @var array $values */ + /** @var array $values */ public array $values = [], ) {} @@ -16,4 +16,9 @@ public function add(mixed $value): void { $this->values[] = $value; } + + public function first(): mixed + { + return array_first($this->values); + } } diff --git a/packages/http/src/RequestHeaders.php b/packages/http/src/RequestHeaders.php index bd311e6d7..750431f19 100644 --- a/packages/http/src/RequestHeaders.php +++ b/packages/http/src/RequestHeaders.php @@ -43,7 +43,10 @@ public function offsetGet(mixed $offset): string public function get(string $name): ?string { - return $this->headers[strtolower($name)] ?? null; + return array_find( + array: $this->headers, + callback: fn (mixed $_, string $header) => strcasecmp($header, $name) === 0, + ); } public function has(string $name): bool @@ -53,7 +56,7 @@ public function has(string $name): bool public function getHeader(string $name): Header { - return new Header(strtolower($name), array_filter([$this->get($name)])); + return new Header(mb_strtolower($name), array_filter([$this->get($name)])); } public function offsetSet(mixed $offset, mixed $value): void diff --git a/packages/http/src/Responses/Invalid.php b/packages/http/src/Responses/Invalid.php index 99f37602d..9300ead61 100644 --- a/packages/http/src/Responses/Invalid.php +++ b/packages/http/src/Responses/Invalid.php @@ -45,9 +45,9 @@ public function __construct( $this->flash(Session::VALIDATION_ERRORS, $failingRules); $this->flash(Session::ORIGINAL_VALUES, $this->filterSensitiveFields($request, $targetClass)); $this->addHeader('x-validation', value: Json\encode( - Arr\map_iterable($failingRules, fn (array $failingRulesForField) => Arr\map_iterable( + Arr\map_iterable($failingRules, fn (array $failingRulesForField, string $field) => Arr\map_iterable( array: $failingRulesForField, - map: fn (FailingRule $rule) => $this->validator->getErrorMessage($rule), + map: fn (FailingRule $rule) => $this->validator->getErrorMessage($rule, $field), )), )); } diff --git a/packages/router/src/Exceptions/HtmlExceptionRenderer.php b/packages/router/src/Exceptions/HtmlExceptionRenderer.php index 218a25a75..dbd2951dc 100644 --- a/packages/router/src/Exceptions/HtmlExceptionRenderer.php +++ b/packages/router/src/Exceptions/HtmlExceptionRenderer.php @@ -5,6 +5,8 @@ use Tempest\Auth\Exceptions\AccessWasDenied; use Tempest\Container\Container; use Tempest\Core\AppConfig; +use Tempest\Core\Priority; +use Tempest\Discovery\SkipDiscovery; use Tempest\Http\ContentType; use Tempest\Http\GenericResponse; use Tempest\Http\HttpRequestFailed; @@ -21,6 +23,11 @@ use Whoops\Handler\PrettyPageHandler; use Whoops\Run; +/** + * Renders exceptions for HTML content. The priority is lowered by one because + * JSON-rendering should be the default for requests without `Accept` header. + */ +#[Priority(Priority::LOWEST + 1)] final readonly class HtmlExceptionRenderer implements ExceptionRenderer { public function __construct( @@ -49,6 +56,7 @@ public function render(Throwable $throwable): Response } return match (true) { + $throwable instanceof ConvertsToResponse => $throwable->toResponse(), $throwable instanceof ValidationFailed => new Invalid($throwable->subject, $throwable->failingRules, $throwable->targetClass), $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), diff --git a/packages/router/src/Exceptions/HttpExceptionHandler.php b/packages/router/src/Exceptions/HttpExceptionHandler.php index d5d4918c2..da5562651 100644 --- a/packages/router/src/Exceptions/HttpExceptionHandler.php +++ b/packages/router/src/Exceptions/HttpExceptionHandler.php @@ -6,13 +6,13 @@ use Tempest\Core\ExceptionHandler; use Tempest\Core\Exceptions\ExceptionProcessor; use Tempest\Core\Kernel; -use Tempest\Http\ContentType; use Tempest\Http\GenericResponse; use Tempest\Http\Request; use Tempest\Http\Response; use Tempest\Http\Status; use Tempest\Router\ResponseSender; use Tempest\Router\RouteConfig; +use Tempest\Support\Arr; use Throwable; final readonly class HttpExceptionHandler implements ExceptionHandler @@ -23,8 +23,6 @@ public function __construct( private Container $container, private ExceptionProcessor $exceptionProcessor, private RouteConfig $routeConfig, - private JsonExceptionRenderer $jsonHandler, - private HtmlExceptionRenderer $htmlHandler, ) {} public function handle(Throwable $throwable): void @@ -41,10 +39,9 @@ public function handle(Throwable $throwable): void public function renderResponse(Request $request, Throwable $throwable): Response { - // Sort by priority ascending (HIGHEST = 0 checked first, LOWEST = 10000 checked last) ksort($this->routeConfig->exceptionRenderers); - foreach ($this->routeConfig->exceptionRenderers as $rendererClass) { + foreach (Arr\flatten($this->routeConfig->exceptionRenderers) as $rendererClass) { /** @var ExceptionRenderer $renderer */ $renderer = $this->container->get($rendererClass); @@ -53,15 +50,6 @@ public function renderResponse(Request $request, Throwable $throwable): Response } } - // Fall back to default renderers - if ($this->htmlHandler->canRender($throwable, $request)) { - return $this->htmlHandler->render($throwable); - } - - if ($this->jsonHandler->canRender($throwable, $request)) { - return $this->jsonHandler->render($throwable); - } - return new GenericResponse(status: Status::NOT_ACCEPTABLE); } } diff --git a/packages/router/src/Exceptions/JsonExceptionRenderer.php b/packages/router/src/Exceptions/JsonExceptionRenderer.php index 6ee55f0cb..418725527 100644 --- a/packages/router/src/Exceptions/JsonExceptionRenderer.php +++ b/packages/router/src/Exceptions/JsonExceptionRenderer.php @@ -4,6 +4,7 @@ use Tempest\Auth\Exceptions\AccessWasDenied; use Tempest\Core\AppConfig; +use Tempest\Core\Priority; use Tempest\Http\ContentType; use Tempest\Http\HttpRequestFailed; use Tempest\Http\Request; @@ -18,6 +19,9 @@ use Tempest\Validation\Validator; use Throwable; +use function Tempest\Support\Json\encode; + +#[Priority(Priority::LOWEST)] final readonly class JsonExceptionRenderer implements ExceptionRenderer { public function __construct( @@ -33,6 +37,7 @@ public function canRender(Throwable $throwable, Request $request): bool public function render(Throwable $throwable): Response { return match (true) { + $throwable instanceof ConvertsToResponse => $throwable->toResponse(), $throwable instanceof HttpRequestFailed => $this->renderErrorResponse($throwable->status, $throwable), $throwable instanceof ValidationFailed => $this->renderValidationErrorResponse($throwable), $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), @@ -51,7 +56,9 @@ private function renderValidationErrorResponse(ValidationFailed $exception): Res return new Json([ 'message' => Arr\first($errors)[0], 'errors' => $errors, - ])->setStatus(Status::UNPROCESSABLE_CONTENT); + ]) + ->setStatus(Status::UNPROCESSABLE_CONTENT) + ->addHeader('x-validation', value: encode($errors)); } private function renderErrorResponse(Status $status, ?Throwable $exception = null): Response diff --git a/packages/router/src/RouteConfig.php b/packages/router/src/RouteConfig.php index 2a8232708..7f1b08e05 100644 --- a/packages/router/src/RouteConfig.php +++ b/packages/router/src/RouteConfig.php @@ -51,6 +51,7 @@ public function addResponseProcessor(string $responseProcessor): void public function addExceptionRenderer(string $exceptionRenderer, int $priority): void { - $this->exceptionRenderers[$priority] = $exceptionRenderer; + $this->exceptionRenderers[$priority] ??= []; + $this->exceptionRenderers[$priority][] = $exceptionRenderer; } } diff --git a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php index 56ad13419..37df51b8e 100644 --- a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php +++ b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php @@ -7,6 +7,7 @@ use Laminas\Diactoros\ServerRequestFactory; use Psr\Http\Message\ServerRequestInterface as PsrRequest; use Tempest\Container\Container; +use Tempest\Http\ContentType; use Tempest\Http\GenericRequest; use Tempest\Http\Mappers\RequestToPsrRequestMapper; use Tempest\Http\Method; @@ -20,20 +21,30 @@ final class HttpRouterTester { + private(set) ?ContentType $contentType = null; + public function __construct( private Container $container, ) {} + /** + * Specifies the "Accept" header for subsequent requests. + */ + public function as(ContentType $contentType): self + { + $this->contentType = $contentType; + + return $this; + } + public function get(string $uri, array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::GET, - uri: Uri\merge_query($uri, ...$query), - body: [], - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::GET, + uri: Uri\merge_query($uri, ...$query), + body: [], + headers: $this->createHeaders($headers), + )); } public function head(string $uri, array $query = [], array $headers = []): TestResponseHelper @@ -43,93 +54,79 @@ public function head(string $uri, array $query = [], array $headers = []): TestR method: Method::HEAD, uri: Uri\merge_query($uri, ...$query), body: [], - headers: $headers, + headers: $this->createHeaders($headers), ), ); } public function post(string $uri, array $body = [], array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::POST, - uri: Uri\merge_query($uri, ...$query), - body: $body, - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::POST, + uri: Uri\merge_query($uri, ...$query), + body: $body, + headers: $this->createHeaders($headers), + )); } public function put(string $uri, array $body = [], array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::PUT, - uri: Uri\merge_query($uri, ...$query), - body: $body, - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::PUT, + uri: Uri\merge_query($uri, ...$query), + body: $body, + headers: $this->createHeaders($headers), + )); } public function delete(string $uri, array $body = [], array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::DELETE, - uri: Uri\merge_query($uri, ...$query), - body: $body, - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::DELETE, + uri: Uri\merge_query($uri, ...$query), + body: $body, + headers: $this->createHeaders($headers), + )); } public function connect(string $uri, array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::CONNECT, - uri: Uri\merge_query($uri, ...$query), - body: [], - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::CONNECT, + uri: Uri\merge_query($uri, ...$query), + body: [], + headers: $this->createHeaders($headers), + )); } public function options(string $uri, array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::OPTIONS, - uri: Uri\merge_query($uri, ...$query), - body: [], - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::OPTIONS, + uri: Uri\merge_query($uri, ...$query), + body: [], + headers: $this->createHeaders($headers), + )); } public function trace(string $uri, array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::TRACE, - uri: Uri\merge_query($uri, ...$query), - body: [], - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::TRACE, + uri: Uri\merge_query($uri, ...$query), + body: [], + headers: $this->createHeaders($headers), + )); } public function patch(string $uri, array $body = [], array $query = [], array $headers = []): TestResponseHelper { - return $this->sendRequest( - new GenericRequest( - method: Method::PATCH, - uri: Uri\merge_query($uri, ...$query), - body: $body, - headers: $headers, - ), - ); + return $this->sendRequest(new GenericRequest( + method: Method::PATCH, + uri: Uri\merge_query($uri, ...$query), + body: $body, + headers: $this->createHeaders($headers), + )); } public function sendRequest(Request $request): TestResponseHelper @@ -178,4 +175,18 @@ public function makePsrRequest( return ServerRequestFactory::fromGlobals()->withUploadedFiles($files); } + + private function createHeaders(array $headers = []): array + { + $key = array_find_key( + array: $headers, + callback: fn (mixed $_, string $headerKey): bool => strcasecmp($headerKey, 'accept') === 0, + ); + + if ($this->contentType) { + $headers[$key ?? 'accept'] = $this->contentType->value; + } + + return $headers; + } } diff --git a/src/Tempest/Framework/Testing/Http/TestResponseHelper.php b/src/Tempest/Framework/Testing/Http/TestResponseHelper.php index 7da25e6ba..2fcb67d55 100644 --- a/src/Tempest/Framework/Testing/Http/TestResponseHelper.php +++ b/src/Tempest/Framework/Testing/Http/TestResponseHelper.php @@ -18,6 +18,7 @@ use Tempest\Http\Session\Session; use Tempest\Http\Status; use Tempest\Support\Arr; +use Tempest\Support\Json; use Tempest\Validation\Rule; use Tempest\Validation\Validator; use Tempest\View\View; @@ -229,8 +230,11 @@ public function assertHasSession(string $key, ?Closure $callback = null): self public function assertHasValidationError(string $key, ?Closure $callback = null): self { - $session = $this->container->get(Session::class); - $validationErrors = $session->get(Session::VALIDATION_ERRORS) ?? []; + $validationErrors = $this->response->getHeader('x-validation')->first(); + + Assert::assertNotNull($validationErrors, 'The response does not have a x-validation header.'); + + $validationErrors = Json\decode($validationErrors); Assert::assertArrayHasKey( key: $key, @@ -495,9 +499,7 @@ public function assertJsonContains(array $expected): self } /** - * Asserts the response contains the given JSON validation errors. - * - * The keys can also be specified using dot notation. + * Asserts the response contains the given JSON validation errors. The keys can be specified using dot notation, and the values may contain `sprintf` placeholders. * * ### Example * ``` @@ -507,7 +509,7 @@ public function assertJsonContains(array $expected): self * ]); * ``` * - * @param array $expectedErrors + * @param array $expectedErrors */ public function assertHasJsonValidationErrors(array $expectedErrors): self { @@ -515,16 +517,18 @@ public function assertHasJsonValidationErrors(array $expectedErrors): self Assert::assertContains($this->response->status, [Status::BAD_REQUEST, Status::FOUND, Status::UNPROCESSABLE_CONTENT]); - $session = $this->container->get(Session::class); - $validator = $this->container->get(Validator::class); - $validationRules = arr($session->get(Session::VALIDATION_ERRORS))->dot(); - - arr($expectedErrors) - ->dot() - ->each(fn ($expectedErrorValue, $expectedErrorKey) => Assert::assertEquals( - expected: $expectedErrorValue, - actual: $validator->getErrorMessage($validationRules->get($expectedErrorKey)), - )); + $validationErrors = $this->response->getHeader('x-validation')->first(); + + Assert::assertNotNull($validationErrors, 'The response does not have a x-validation header.'); + + $validationErrors = Arr\dot(Json\decode($validationErrors)); + + foreach (Arr\dot($expectedErrors) as $key => $expectedMessage) { + Assert::assertStringMatchesFormat( + format: $expectedMessage, + string: $validationErrors[$key], + ); + } return $this; } diff --git a/tests/Integration/Http/ValidationResponseTest.php b/tests/Integration/Http/ValidationResponseTest.php index 70db37844..80ecdbbca 100644 --- a/tests/Integration/Http/ValidationResponseTest.php +++ b/tests/Integration/Http/ValidationResponseTest.php @@ -5,6 +5,7 @@ namespace Tests\Tempest\Integration\Http; use Tempest\Database\Migrations\CreateMigrationsTable; +use Tempest\Http\ContentType; use Tempest\Http\Session\Session; use Tests\Tempest\Fixtures\Controllers\ValidationController; use Tests\Tempest\Fixtures\Migrations\CreateAuthorTable; @@ -25,6 +26,7 @@ final class ValidationResponseTest extends FrameworkIntegrationTestCase public function test_validation_errors_are_listed_in_the_response_body(): void { $this->http + ->as(ContentType::HTML) ->post( uri: uri([ValidationController::class, 'store']), body: ['number' => 11, 'item.number' => 11], @@ -39,6 +41,7 @@ public function test_original_values(): void $values = ['number' => 11, 'item.number' => 11]; $this->http + ->as(contentType::HTML) ->post( uri: uri([ValidationController::class, 'store']), body: $values, @@ -98,7 +101,7 @@ public function test_failing_post_request(): void uri([ValidationController::class, 'updateBook'], book: 1), body: ['book' => ['title' => 1]], ) - ->assertHasJsonValidationErrors(['title' => ['Value must be between 1 and 120']]); + ->assertHasJsonValidationErrors(['title' => ['title must be between 1 and 120', 'title must be a string']]); $this->assertSame('Timeline Taxi', Book::find(id: 1)->first()->title); } @@ -106,6 +109,7 @@ public function test_failing_post_request(): void public function test_sensitive_fields_are_excluded_from_original_values(): void { $this->http + ->as(ContentType::HTML) ->post( uri: uri([ValidationController::class, 'storeSensitive']), body: ['not_sensitive_param' => '', 'sensitive_param' => 'secret123'], From a7b3cbcbc30b26d33c7322babf86406985d904b3 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Tue, 16 Dec 2025 01:09:03 +0100 Subject: [PATCH 05/23] style: apply fixes from qa --- packages/core/src/functions.php | 2 -- packages/router/src/ExceptionRendererDiscovery.php | 2 +- packages/router/src/Exceptions/HtmlExceptionRenderer.php | 1 - src/Tempest/Framework/Testing/Http/HttpRouterTester.php | 2 +- src/Tempest/Framework/Testing/Http/TestResponseHelper.php | 1 - tests/Integration/Router/ExceptionRendererTest.php | 8 ++++---- 6 files changed, 6 insertions(+), 10 deletions(-) diff --git a/packages/core/src/functions.php b/packages/core/src/functions.php index 66f9a80f0..01ba800ac 100644 --- a/packages/core/src/functions.php +++ b/packages/core/src/functions.php @@ -7,10 +7,8 @@ use Stringable; use Tempest\Core\Composer; use Tempest\Core\DeferredTasks; - use Tempest\Core\Exceptions\ExceptionProcessor; use Tempest\Core\Kernel; use Tempest\Support\Namespace\PathCouldNotBeMappedToNamespace; - use Throwable; use function Tempest\Support\Namespace\to_psr4_namespace; use function Tempest\Support\Path\to_absolute_path; diff --git a/packages/router/src/ExceptionRendererDiscovery.php b/packages/router/src/ExceptionRendererDiscovery.php index 91d2a3435..c63f3fc58 100644 --- a/packages/router/src/ExceptionRendererDiscovery.php +++ b/packages/router/src/ExceptionRendererDiscovery.php @@ -25,7 +25,7 @@ public function discover(DiscoveryLocation $location, ClassReflector $class): vo return; } - $priority = $class->getAttribute(Priority::class)?->priority ?? Priority::NORMAL; + $priority = $class->getAttribute(Priority::class)->priority ?? Priority::NORMAL; $this->discoveryItems->add($location, [$class->getName(), $priority]); } diff --git a/packages/router/src/Exceptions/HtmlExceptionRenderer.php b/packages/router/src/Exceptions/HtmlExceptionRenderer.php index dbd2951dc..65f260b7f 100644 --- a/packages/router/src/Exceptions/HtmlExceptionRenderer.php +++ b/packages/router/src/Exceptions/HtmlExceptionRenderer.php @@ -6,7 +6,6 @@ use Tempest\Container\Container; use Tempest\Core\AppConfig; use Tempest\Core\Priority; -use Tempest\Discovery\SkipDiscovery; use Tempest\Http\ContentType; use Tempest\Http\GenericResponse; use Tempest\Http\HttpRequestFailed; diff --git a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php index 37df51b8e..7f13d2899 100644 --- a/src/Tempest/Framework/Testing/Http/HttpRouterTester.php +++ b/src/Tempest/Framework/Testing/Http/HttpRouterTester.php @@ -183,7 +183,7 @@ private function createHeaders(array $headers = []): array callback: fn (mixed $_, string $headerKey): bool => strcasecmp($headerKey, 'accept') === 0, ); - if ($this->contentType) { + if ($this->contentType !== null) { $headers[$key ?? 'accept'] = $this->contentType->value; } diff --git a/src/Tempest/Framework/Testing/Http/TestResponseHelper.php b/src/Tempest/Framework/Testing/Http/TestResponseHelper.php index 2fcb67d55..ebf0fc20a 100644 --- a/src/Tempest/Framework/Testing/Http/TestResponseHelper.php +++ b/src/Tempest/Framework/Testing/Http/TestResponseHelper.php @@ -20,7 +20,6 @@ use Tempest\Support\Arr; use Tempest\Support\Json; use Tempest\Validation\Rule; -use Tempest\Validation\Validator; use Tempest\View\View; use Tempest\View\ViewRenderer; diff --git a/tests/Integration/Router/ExceptionRendererTest.php b/tests/Integration/Router/ExceptionRendererTest.php index 20ee33afd..785b51fa4 100644 --- a/tests/Integration/Router/ExceptionRendererTest.php +++ b/tests/Integration/Router/ExceptionRendererTest.php @@ -93,7 +93,7 @@ public function custom_json_exception_renderer(): void fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'application/json']), ); - $this->callExceptionHandler(function () { + $this->callExceptionHandler(function (): void { $handler = $this->container->get(HttpExceptionHandler::class); $handler->handle(new CustomValidationException('Custom validation failed')); }); @@ -117,7 +117,7 @@ public function custom_html_exception_renderer(): void fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'text/html']), ); - $this->callExceptionHandler(function () { + $this->callExceptionHandler(function (): void { $handler = $this->container->get(HttpExceptionHandler::class); $handler->handle(new CustomValidationException('Custom validation failed')); }); @@ -138,7 +138,7 @@ public function falls_back_to_default_renderer_when_no_custom_match(): void fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'application/json']), ); - $this->callExceptionHandler(function () { + $this->callExceptionHandler(function (): void { $handler = $this->container->get(HttpExceptionHandler::class); $handler->handle(new Exception('Regular exception')); }); @@ -160,7 +160,7 @@ public function priority_ordering(): void fn () => new GenericRequest(Method::GET, '/test', headers: ['Accept' => 'application/json']), ); - $this->callExceptionHandler(function () { + $this->callExceptionHandler(function (): void { $handler = $this->container->get(HttpExceptionHandler::class); $handler->handle(new CustomValidationException('Test')); }); From 5c7a7aa4fde51e326f90852a992d53b41c15baa1 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Wed, 17 Dec 2025 23:04:00 +0100 Subject: [PATCH 06/23] feat: add custom exception page --- composer.json | 1 + packages/core/src/FrameworkKernel.php | 2 +- packages/debug/composer.json | 5 + packages/debug/src/Stacktrace/Argument.php | 51 + packages/debug/src/Stacktrace/CodeSnippet.php | 26 + packages/debug/src/Stacktrace/Frame.php | 150 +++ packages/debug/src/Stacktrace/Stacktrace.php | 96 ++ packages/debug/tests/StacktraceTest.php | 229 ++++ .../src/Exceptions/DevelopmentException.php | 59 + .../src/Exceptions/HtmlExceptionRenderer.php | 65 +- .../router/src/Exceptions/local/.gitignore | 3 + .../Exceptions/local/.vscode/settings.json | 12 + packages/router/src/Exceptions/local/bun.lock | 1123 +++++++++++++++++ .../src/Exceptions/local/exception.view.php | 21 + .../router/src/Exceptions/local/package.json | 33 + .../src/Exceptions/local/src/assets/noise.svg | 13 + .../local/src/assets/tempest-logo.svg | 1 + .../Exceptions/local/src/components/card.vue | 20 + .../stacktrace/application-frame.vue | 43 + .../components/stacktrace/code-snippet.vue | 49 + .../src/components/stacktrace/file-label.vue | 31 + .../src/components/stacktrace/stacktrace.ts | 57 + .../src/components/stacktrace/symbol-call.vue | 112 ++ .../components/stacktrace/vendor-frames.vue | 50 + .../router/src/Exceptions/local/src/editor.ts | 19 + .../Exceptions/local/src/entrypoint/main.ts | 24 + .../Exceptions/local/src/entrypoint/style.css | 149 +++ .../src/Exceptions/local/src/highlight.ts | 159 +++ .../src/Exceptions/local/src/renderer.vue | 45 + .../Exceptions/local/src/sections/headers.vue | 44 + .../local/src/sections/request-body.vue | 16 + .../local/src/sections/stacktrace.vue | 46 + .../Exceptions/local/src/sections/summary.vue | 116 ++ .../router/src/Exceptions/local/src/store.ts | 44 + .../src/Exceptions/local/tsconfig.app.json | 14 + .../router/src/Exceptions/local/tsconfig.json | 7 + .../src/Exceptions/local/tsconfig.node.json | 24 + .../router/src/Exceptions/local/vite-env.d.ts | 1 + .../src/Exceptions/local/vite.config.ts | 59 + .../{html => production}/error.view.php | 0 .../Exceptions/{html => production}/style.css | 0 41 files changed, 2966 insertions(+), 53 deletions(-) create mode 100644 packages/debug/src/Stacktrace/Argument.php create mode 100644 packages/debug/src/Stacktrace/CodeSnippet.php create mode 100644 packages/debug/src/Stacktrace/Frame.php create mode 100644 packages/debug/src/Stacktrace/Stacktrace.php create mode 100644 packages/debug/tests/StacktraceTest.php create mode 100644 packages/router/src/Exceptions/DevelopmentException.php create mode 100644 packages/router/src/Exceptions/local/.gitignore create mode 100644 packages/router/src/Exceptions/local/.vscode/settings.json create mode 100644 packages/router/src/Exceptions/local/bun.lock create mode 100644 packages/router/src/Exceptions/local/exception.view.php create mode 100644 packages/router/src/Exceptions/local/package.json create mode 100644 packages/router/src/Exceptions/local/src/assets/noise.svg create mode 100644 packages/router/src/Exceptions/local/src/assets/tempest-logo.svg create mode 100644 packages/router/src/Exceptions/local/src/components/card.vue create mode 100644 packages/router/src/Exceptions/local/src/components/stacktrace/application-frame.vue create mode 100644 packages/router/src/Exceptions/local/src/components/stacktrace/code-snippet.vue create mode 100644 packages/router/src/Exceptions/local/src/components/stacktrace/file-label.vue create mode 100644 packages/router/src/Exceptions/local/src/components/stacktrace/stacktrace.ts create mode 100644 packages/router/src/Exceptions/local/src/components/stacktrace/symbol-call.vue create mode 100644 packages/router/src/Exceptions/local/src/components/stacktrace/vendor-frames.vue create mode 100644 packages/router/src/Exceptions/local/src/editor.ts create mode 100644 packages/router/src/Exceptions/local/src/entrypoint/main.ts create mode 100644 packages/router/src/Exceptions/local/src/entrypoint/style.css create mode 100644 packages/router/src/Exceptions/local/src/highlight.ts create mode 100644 packages/router/src/Exceptions/local/src/renderer.vue create mode 100644 packages/router/src/Exceptions/local/src/sections/headers.vue create mode 100644 packages/router/src/Exceptions/local/src/sections/request-body.vue create mode 100644 packages/router/src/Exceptions/local/src/sections/stacktrace.vue create mode 100644 packages/router/src/Exceptions/local/src/sections/summary.vue create mode 100644 packages/router/src/Exceptions/local/src/store.ts create mode 100644 packages/router/src/Exceptions/local/tsconfig.app.json create mode 100644 packages/router/src/Exceptions/local/tsconfig.json create mode 100644 packages/router/src/Exceptions/local/tsconfig.node.json create mode 100644 packages/router/src/Exceptions/local/vite-env.d.ts create mode 100644 packages/router/src/Exceptions/local/vite.config.ts rename packages/router/src/Exceptions/{html => production}/error.view.php (100%) rename packages/router/src/Exceptions/{html => production}/style.css (100%) diff --git a/composer.json b/composer.json index a447a865e..ac17f5e80 100644 --- a/composer.json +++ b/composer.json @@ -212,6 +212,7 @@ "Tempest\\Cryptography\\Tests\\": "packages/cryptography/tests", "Tempest\\Database\\Tests\\": "packages/database/tests", "Tempest\\DateTime\\Tests\\": "packages/datetime/tests", + "Tempest\\Debug\\Tests\\": "packages/debug/tests", "Tempest\\EventBus\\Tests\\": "packages/event-bus/tests", "Tempest\\Generation\\Tests\\": "packages/generation/tests", "Tempest\\HttpClient\\Tests\\": "packages/http-client/tests", diff --git a/packages/core/src/FrameworkKernel.php b/packages/core/src/FrameworkKernel.php index 928c6b0c0..40f101284 100644 --- a/packages/core/src/FrameworkKernel.php +++ b/packages/core/src/FrameworkKernel.php @@ -49,7 +49,7 @@ public static function boot( ?string $internalStorage = null, ): self { if (! defined('TEMPEST_START')) { - define('TEMPEST_START', value: hrtime(true)); + define('TEMPEST_START', value: hrtime(as_number: true)); } return new self( diff --git a/packages/debug/composer.json b/packages/debug/composer.json index 862f4cbd8..a5b07f5b9 100644 --- a/packages/debug/composer.json +++ b/packages/debug/composer.json @@ -18,5 +18,10 @@ "files": [ "src/functions.php" ] + }, + "autoload-dev": { + "psr-4": { + "Tempest\\Debug\\Tests\\": "tests" + } } } diff --git a/packages/debug/src/Stacktrace/Argument.php b/packages/debug/src/Stacktrace/Argument.php new file mode 100644 index 000000000..8a0f608f6 --- /dev/null +++ b/packages/debug/src/Stacktrace/Argument.php @@ -0,0 +1,51 @@ + 'null', + is_bool($value) => sprintf('bool<%s>', $value ? 'true' : 'false'), + is_int($value) => (string) $value, + is_float($value) => (string) $value, + is_string($value) => mb_strlen($value) > 50 + ? sprintf('string<%s>', mb_strlen($value)) + : sprintf('"%s"', $value), + is_array($value) => sprintf('array<%s>', count($value)), + is_object($value) => sprintf('object<%s>', $value::class), + is_resource($value) => 'resource', + default => get_debug_type($value), + }; + } + + private static function serialize(mixed $value): ?string + { + $serialized = Json\encode($value, pretty: true); + + if ($serialized === '{}') { + return null; + } + + return $serialized; + } +} diff --git a/packages/debug/src/Stacktrace/CodeSnippet.php b/packages/debug/src/Stacktrace/CodeSnippet.php new file mode 100644 index 000000000..21a214848 --- /dev/null +++ b/packages/debug/src/Stacktrace/CodeSnippet.php @@ -0,0 +1,26 @@ + $lines + */ + public function __construct( + public array $lines, + public int $highlightedLine, + ) {} + + public function getStartLine(): int + { + return array_key_first($this->lines) ?? 0; + } + + public function getEndLine(): int + { + return array_key_last($this->lines) ?? 0; + } +} diff --git a/packages/debug/src/Stacktrace/Frame.php b/packages/debug/src/Stacktrace/Frame.php new file mode 100644 index 000000000..6450a462b --- /dev/null +++ b/packages/debug/src/Stacktrace/Frame.php @@ -0,0 +1,150 @@ + $arguments + */ + public function __construct( + private(set) string $file, + private(set) int $line, + private(set) ?string $class, + private(set) ?string $function, + private(set) ?string $type, + private(set) bool $isVendor, + private(set) ?CodeSnippet $snippet, + private(set) string $absoluteFile, + private(set) string $relativeFile, + private(set) array $arguments, + private(set) int $index, + ) {} + + public static function fromArray(array $frame, int $contextLines = 5, ?string $rootPath = null, int $index = 1): self + { + $absoluteFile = $frame['file'] ?? ''; + $line = $frame['line'] ?? 0; + $isVendor = self::isVendorFile($absoluteFile, $rootPath); + $snippet = null; + + if ($absoluteFile && $line && ! $isVendor && file_exists($absoluteFile)) { + $snippet = self::extractCodeSnippet($absoluteFile, $line, $contextLines); + } + + return new self( + file: $absoluteFile, + line: $line, + class: $frame['class'] ?? null, + function: $frame['function'] ?? null, + type: $frame['type'] ?? null, + isVendor: $isVendor, + snippet: $snippet, + absoluteFile: $absoluteFile, + relativeFile: $rootPath ? to_relative_path($rootPath, $absoluteFile) : $absoluteFile, + arguments: self::extractArguments($frame), + index: $index, + ); + } + + /** + * @return array + */ + public static function extractArguments(array $frame): array + { + if (! isset($frame['args']) || ! is_array($frame['args'])) { + return []; + } + + $arguments = $frame['args']; + $parameterNames = []; + + try { + $reflection = isset($frame['class'], $frame['function']) + ? new ReflectionMethod(objectOrMethod: $frame['class'], method: $frame['function']) + : new ReflectionFunction(function: $frame['function']); + + $parameterNames = array_map( + callback: fn (ReflectionParameter $param) => $param->getName(), + array: $reflection->getParameters(), + ); + } catch (\Throwable) { + // @mago-expect lint:no-empty-catch-clause + } + + $result = []; + foreach ($arguments as $index => $value) { + $result[] = Argument::make( + name: $parameterNames[$index] ?? $index, + value: $value, + ); + } + + return $result; + } + + public static function isVendorFile(string $file, ?string $rootPath = null): bool + { + if ($file === '') { + return false; + } + + if ($rootPath !== null) { + return ! str_starts_with( + haystack: str_replace('\\', '/', $file), + needle: str_replace('\\', '/', $rootPath), + ); + } + + return str_contains($file, '/vendor/') || str_contains($file, '\\vendor\\'); + } + + public static function extractCodeSnippet(string $file, int $line, int $contextLines): ?CodeSnippet + { + $fileLines = file($file, FILE_IGNORE_NEW_LINES); + + if ($fileLines === false) { + return null; + } + + $startLine = max(1, $line - $contextLines); + $endLine = min(count($fileLines), $line + $contextLines); + $lines = []; + + for ($i = $startLine; $i <= $endLine; $i++) { + $lines[$i] = $fileLines[$i - 1]; + } + + if ($lines === []) { + return null; + } + + return new CodeSnippet( + lines: $lines, + highlightedLine: $line, + ); + } + + public function getMethodName(): string + { + if (! $this->class) { + return $this->function ?? ''; + } + + $type = match ($this->type) { + '::' => '::', + '->' => '->', + default => '', + }; + + return $this->class . $type . ($this->function ?? ''); + } +} diff --git a/packages/debug/src/Stacktrace/Stacktrace.php b/packages/debug/src/Stacktrace/Stacktrace.php new file mode 100644 index 000000000..b720bb686 --- /dev/null +++ b/packages/debug/src/Stacktrace/Stacktrace.php @@ -0,0 +1,96 @@ + $frames + */ + public array $applicationFrames { + get => array_values(array_filter( + array: $this->frames, + callback: fn (Frame $frame) => ! $frame->isVendor, + )); + } + + /** + * @param array $frames + */ + public array $vendorFrames { + get => array_values(array_filter( + array: $this->frames, + callback: fn (Frame $frame) => $frame->isVendor, + )); + } + + /** + * @param array $frames + */ + public function __construct( + private(set) string $message, + private(set) string $exceptionClass, + private(set) array $frames, + private(set) string $file, + private(set) int $line, + private(set) string $absoluteFile, + private(set) string $relativeFile, + ) {} + + public static function fromThrowable(Throwable $throwable, int $contextLines = 5, ?string $rootPath = null): self + { + $frames = []; + $trace = $throwable->getTrace(); + $firstTraceFrame = $trace[0] ?? null; + $snippet = null; + + $exceptionFile = $throwable->getFile(); + $exceptionLine = $throwable->getLine(); + $isVendor = Frame::isVendorFile($exceptionFile, $rootPath); + + if ($exceptionFile && $exceptionLine && ! $isVendor && file_exists($exceptionFile)) { + $snippet = Frame::extractCodeSnippet($exceptionFile, $exceptionLine, $contextLines); + } + + $absoluteExceptionFile = $exceptionFile; + $relativeExceptionFile = $rootPath ? to_relative_path($rootPath, $exceptionFile) : $exceptionFile; + $arguments = $firstTraceFrame ? Frame::extractArguments($firstTraceFrame) : []; + + $frames[] = new Frame( + file: $exceptionFile, + line: $exceptionLine, + class: $firstTraceFrame['class'] ?? null, + function: $firstTraceFrame['function'] ?? null, + type: $firstTraceFrame['type'] ?? null, + isVendor: $isVendor, + snippet: $snippet, + absoluteFile: $absoluteExceptionFile, + relativeFile: $relativeExceptionFile, + arguments: $arguments, + index: 1, + ); + + foreach (array_slice($trace, 1) as $i => $frame) { + $frames[] = Frame::fromArray($frame, $contextLines, $rootPath, $i + 2); + } + + $absoluteFile = $throwable->getFile(); + $relativeFile = $rootPath ? to_relative_path($rootPath, $absoluteFile) : $absoluteFile; + + return new self( + message: $throwable->getMessage(), + exceptionClass: $throwable::class, + frames: $frames, + file: $throwable->getFile(), + line: $throwable->getLine(), + absoluteFile: $absoluteFile, + relativeFile: $relativeFile, + ); + } +} diff --git a/packages/debug/tests/StacktraceTest.php b/packages/debug/tests/StacktraceTest.php new file mode 100644 index 000000000..b68cbe0b4 --- /dev/null +++ b/packages/debug/tests/StacktraceTest.php @@ -0,0 +1,229 @@ +createException(); + $stacktrace = Stacktrace::fromThrowable($exception); + + $this->assertSame('Test exception', $stacktrace->message); + $this->assertSame(RuntimeException::class, $stacktrace->exceptionClass); + $this->assertNotEmpty($stacktrace->frames); + $this->assertContainsOnlyInstancesOf(Frame::class, $stacktrace->frames); + } + + #[Test] + public function exception_frame_includes_snippet_for_existing_file(): void + { + $exception = $this->createException(); + $stacktrace = Stacktrace::fromThrowable($exception); + + $exceptionFrame = $stacktrace->frames[0]; + + $this->assertInstanceOf(CodeSnippet::class, $exceptionFrame->snippet); + $this->assertNotEmpty($exceptionFrame->snippet->lines); + } + + #[Test] + public function stacktrace_frame_creates_from_array(): void + { + $frame = Frame::fromArray([ + 'file' => __FILE__, + 'line' => 100, + 'class' => self::class, + 'function' => 'testMethod', + 'type' => '->', + ]); + + $this->assertSame(__FILE__, $frame->file); + $this->assertSame(100, $frame->line); + $this->assertSame(self::class, $frame->class); + $this->assertSame('testMethod', $frame->function); + $this->assertSame('->', $frame->type); + $this->assertFalse($frame->isVendor); + } + + #[Test] + public function detects_vendor_files(): void + { + $vendor = Frame::fromArray([ + 'file' => '/path/to/vendor/package/file.php', + 'line' => 10, + ]); + + $this->assertTrue($vendor->isVendor); + + $app = Frame::fromArray([ + 'file' => '/path/to/app/file.php', + 'line' => 10, + ]); + + $this->assertFalse($app->isVendor); + } + + #[Test] + public function extracts_code_snippet_for_non_vendor_files(): void + { + $frame = Frame::fromArray([ + 'file' => __FILE__, + 'line' => 50, + ]); + + $this->assertInstanceOf(CodeSnippet::class, $frame->snippet); + $this->assertNotEmpty($frame->snippet->lines); + $this->assertSame(50, $frame->snippet->highlightedLine); + } + + #[Test] + public function no_snippet_for_vendor_files(): void + { + $frame = Frame::fromArray([ + 'file' => '/path/to/vendor/package/file.php', + 'line' => 10, + ]); + + $this->assertNull($frame->snippet); + } + + #[Test] + public function code_snippet_extracts_context_lines(): void + { + $frame = Frame::fromArray( + frame: [ + 'file' => __FILE__, + 'line' => 50, + ], + contextLines: 3, + ); + + $this->assertNotNull($frame->snippet); + $this->assertGreaterThanOrEqual(47, $frame->snippet->getStartLine()); + $this->assertLessThanOrEqual(53, $frame->snippet->getEndLine()); + } + + #[Test] + public function gets_relative_file_path(): void + { + $frame = Frame::fromArray( + frame: [ + 'file' => '/path/to/project/src/Controller.php', + 'line' => 10, + ], + rootPath: '/path/to/project', + ); + + $this->assertSame('/path/to/project/src/Controller.php', $frame->absoluteFile); + $this->assertSame('src/Controller.php', $frame->relativeFile); + } + + #[Test] + public function gets_method_name(): void + { + $instance = Frame::fromArray([ + 'file' => __FILE__, + 'line' => 10, + 'class' => 'MyClass', + 'function' => 'myMethod', + 'type' => '->', + ]); + + $this->assertSame('MyClass->myMethod', $instance->getMethodName()); + + $static = Frame::fromArray([ + 'file' => __FILE__, + 'line' => 10, + 'class' => 'MyClass', + 'function' => 'staticMethod', + 'type' => '::', + ]); + + $this->assertSame('MyClass::staticMethod', $static->getMethodName()); + + $function = Frame::fromArray([ + 'file' => __FILE__, + 'line' => 10, + 'function' => 'myFunction', + ]); + + $this->assertSame('myFunction', $function->getMethodName()); + } + + #[Test] + public function code_snippet_respects_file_boundaries(): void + { + $frame = Frame::fromArray( + frame: [ + 'file' => __FILE__, + 'line' => 2, + ], + contextLines: 10, + ); + + $this->assertNotNull($frame->snippet); + $this->assertSame(1, $frame->snippet->getStartLine()); + } + + #[Test] + public function detects_vendor_files_with_root_path(): void + { + $rootPath = '/path/to/project'; + + $vendor = Frame::fromArray( + frame: [ + 'file' => '/different/path/vendor/package/file.php', + 'line' => 10, + ], + rootPath: $rootPath, + ); + + $this->assertTrue($vendor->isVendor); + + $app = Frame::fromArray( + frame: [ + 'file' => '/path/to/project/src/Controller.php', + 'line' => 10, + ], + rootPath: $rootPath, + ); + + $this->assertFalse($app->isVendor); + } + + #[Test] + public function stacktrace_uses_root_path_for_vendor_detection(): void + { + $exception = $this->createException(); + $rootPath = dirname(__DIR__, 3); // Get project root + + $stacktrace = Stacktrace::fromThrowable($exception, rootPath: $rootPath); + + $appFrames = $stacktrace->applicationFrames; + + $this->assertNotEmpty($appFrames); + + foreach ($appFrames as $frame) { + // Check that files within the project are not marked as vendor + if (str_starts_with($frame->file, $rootPath)) { + $this->assertFalse($frame->isVendor); + } + } + } + + private function createException(): RuntimeException + { + return new RuntimeException('Test exception'); + } +} diff --git a/packages/router/src/Exceptions/DevelopmentException.php b/packages/router/src/Exceptions/DevelopmentException.php new file mode 100644 index 000000000..d5e5f35ba --- /dev/null +++ b/packages/router/src/Exceptions/DevelopmentException.php @@ -0,0 +1,59 @@ +status = Status::INTERNAL_SERVER_ERROR; + + if (! Filesystem\exists(__DIR__ . '/local/dist/main.js')) { + $this->body = 'The development exception interface is not built.'; + } else { + $this->body = new GenericView( + path: __DIR__ . '/local/exception.view.php', + data: [ + 'script' => Filesystem\read_file(__DIR__ . '/local/dist/main.js'), + 'css' => Filesystem\read_file(__DIR__ . '/local/dist/style.css'), + 'hydration' => map([ + 'stacktrace' => Stacktrace::fromThrowable($throwable, rootPath: root_path()), + 'rootPath' => root_path(), + 'request' => [ + 'uri' => $request->uri, + 'method' => $request->method, + 'headers' => $request->headers->toArray(), + 'body' => $request->raw, + ], + 'response' => [ + 'status' => $response->status->value, + ], + 'resources' => [ + 'memoryPeakUsage' => memory_get_peak_usage(real_usage: true), + 'executionTimeMs' => (hrtime(as_number: true) - TEMPEST_START) / 1_000_000, + ], + 'versions' => [ + 'php' => PHP_VERSION, + 'tempest' => Kernel::VERSION, + ], + ])->toJson(), + ], + ); + } + } +} diff --git a/packages/router/src/Exceptions/HtmlExceptionRenderer.php b/packages/router/src/Exceptions/HtmlExceptionRenderer.php index 65f260b7f..be01b3a8c 100644 --- a/packages/router/src/Exceptions/HtmlExceptionRenderer.php +++ b/packages/router/src/Exceptions/HtmlExceptionRenderer.php @@ -14,13 +14,10 @@ use Tempest\Http\Responses\Invalid; use Tempest\Http\Session\CsrfTokenDidNotMatch; use Tempest\Http\Status; -use Tempest\Router\MatchedRoute; use Tempest\Support\Filesystem; use Tempest\Validation\Exceptions\ValidationFailed; use Tempest\View\GenericView; use Throwable; -use Whoops\Handler\PrettyPageHandler; -use Whoops\Run; /** * Renders exceptions for HTML content. The priority is lowered by one because @@ -45,16 +42,7 @@ public function render(Throwable $throwable): Response return $throwable->toResponse(); } - if ($this->shouldRenderDevelopmentException($throwable)) { - $whoops = $this->createHandler(); - - return new GenericResponse( - status: Status::INTERNAL_SERVER_ERROR, - body: $whoops->handleException($throwable), - ); - } - - return match (true) { + $response = match (true) { $throwable instanceof ConvertsToResponse => $throwable->toResponse(), $throwable instanceof ValidationFailed => new Invalid($throwable->subject, $throwable->failingRules, $throwable->targetClass), $throwable instanceof AccessWasDenied => $this->renderErrorResponse(Status::FORBIDDEN), @@ -62,6 +50,16 @@ public function render(Throwable $throwable): Response $throwable instanceof CsrfTokenDidNotMatch => $this->renderErrorResponse(Status::UNPROCESSABLE_CONTENT), default => $this->renderErrorResponse(Status::INTERNAL_SERVER_ERROR, $throwable), }; + + if ($this->shouldRenderDevelopmentException($throwable)) { + return new DevelopmentException( + throwable: $throwable, + response: $response, + request: $this->container->get(Request::class), + ); + } + + return $response; } private function renderErrorResponse(Status $status, ?Throwable $exception = null): Response @@ -72,7 +70,7 @@ private function renderErrorResponse(Status $status, ?Throwable $exception = nul return new GenericResponse( status: $status, - body: new GenericView(__DIR__ . '/html/error.view.php', [ + body: new GenericView(__DIR__ . '/production/error.view.php', [ 'css' => $this->getStyleSheet(), 'status' => $status->value, 'title' => $status->description(), @@ -90,7 +88,7 @@ private function renderErrorResponse(Status $status, ?Throwable $exception = nul private function getStyleSheet(): string { - return Filesystem\read_file(__DIR__ . '/html/style.css'); + return Filesystem\read_file(__DIR__ . '/production/style.css'); } private function shouldRenderDevelopmentException(Throwable $throwable): bool @@ -109,41 +107,4 @@ private function shouldRenderDevelopmentException(Throwable $throwable): bool return true; } - - private function createHandler(): Run - { - $handler = new PrettyPageHandler(); - - $handler->addDataTableCallback('Route', function () { - $route = $this->container->get(MatchedRoute::class); - - if (! $route) { - return []; - } - - return [ - 'Handler' => $route->route->handler->getDeclaringClass()->getFileName() . ':' . $route->route->handler->getName(), - 'URI' => $route->route->uri, - 'Allowed parameters' => $route->route->parameters, - 'Received parameters' => $route->params, - ]; - }); - - $handler->addDataTableCallback('Request', function () { - $request = $this->container->get(Request::class); - - return [ - 'URI' => $request->uri, - 'Method' => $request->method->value, - 'Headers' => $request->headers->toArray(), - 'Parsed body' => array_filter(array_values($request->body)) ? $request->body : [], - 'Raw body' => $request->raw, - ]; - }); - - $whoops = new Run(); - $whoops->pushHandler($handler); - - return $whoops; - } } diff --git a/packages/router/src/Exceptions/local/.gitignore b/packages/router/src/Exceptions/local/.gitignore new file mode 100644 index 000000000..4767b19e5 --- /dev/null +++ b/packages/router/src/Exceptions/local/.gitignore @@ -0,0 +1,3 @@ +node_modules +auto-imports.d.ts +components.d.ts diff --git a/packages/router/src/Exceptions/local/.vscode/settings.json b/packages/router/src/Exceptions/local/.vscode/settings.json new file mode 100644 index 000000000..d1227e635 --- /dev/null +++ b/packages/router/src/Exceptions/local/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "files.associations": { + "*.css": "tailwindcss" + }, + "editor.quickSuggestions": { + "strings": "on" + }, + "tailwindCSS.classAttributes": ["class", "ui"], + "tailwindCSS.experimental.classRegex": [ + ["ui:\\s*{([^)]*)\\s*}", "(?:'|\"|`)([^']*)(?:'|\"|`)"] + ] +} diff --git a/packages/router/src/Exceptions/local/bun.lock b/packages/router/src/Exceptions/local/bun.lock new file mode 100644 index 000000000..95f16992b --- /dev/null +++ b/packages/router/src/Exceptions/local/bun.lock @@ -0,0 +1,1123 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "tempest-exception-ui", + "devDependencies": { + "@nuxt/ui": "^4.2.1", + "@shikijs/langs-precompiled": "^3.20.0", + "@tailwindcss/vite": "^4.1.18", + "@vitejs/plugin-vue": "^6.0.3", + "@vue/tsconfig": "^0.8.1", + "@vueuse/components": "^14.1.0", + "@vueuse/core": "^14.1.0", + "arktype": "^2.1.29", + "motion-v": "^1.7.4", + "shiki": "^3.20.0", + "sql-formatter": "^15.6.12", + "tailwindcss": "^4.1.18", + "temporal-polyfill": "^0.3.0", + "typescript": "~5.9.3", + "vite": "8.0.0-beta.2", + "vite-plugin-singlefile": "^2.3.0", + "vue": "^3.5.25", + "vue-router": "^4.6.4", + "vue-tsc": "^3.1.8", + }, + }, + }, + "trustedDependencies": [ + "@tailwindcss/oxide", + ], + "packages": { + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@antfu/install-pkg": ["@antfu/install-pkg@1.1.0", "", { "dependencies": { "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" } }, "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ=="], + + "@ark/schema": ["@ark/schema@0.56.0", "", { "dependencies": { "@ark/util": "0.56.0" } }, "sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA=="], + + "@ark/util": ["@ark/util@0.56.0", "", {}, "sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], + + "@babel/parser": ["@babel/parser@7.28.5", "", { "dependencies": { "@babel/types": "^7.28.5" }, "bin": "./bin/babel-parser.js" }, "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ=="], + + "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="], + + "@capsizecss/unpack": ["@capsizecss/unpack@3.0.1", "", { "dependencies": { "fontkit": "^2.0.2" } }, "sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg=="], + + "@emnapi/core": ["@emnapi/core@1.7.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.7.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA=="], + + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], + + "@floating-ui/core": ["@floating-ui/core@1.7.0", "", { "dependencies": { "@floating-ui/utils": "^0.2.9" } }, "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA=="], + + "@floating-ui/dom": ["@floating-ui/dom@1.7.0", "", { "dependencies": { "@floating-ui/core": "^1.7.0", "@floating-ui/utils": "^0.2.9" } }, "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg=="], + + "@floating-ui/utils": ["@floating-ui/utils@0.2.9", "", {}, "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg=="], + + "@floating-ui/vue": ["@floating-ui/vue@1.1.6", "", { "dependencies": { "@floating-ui/dom": "^1.0.0", "@floating-ui/utils": "^0.2.9", "vue-demi": ">=0.13.0" } }, "sha512-XFlUzGHGv12zbgHNk5FN2mUB7ROul3oG2ENdTpWdE+qMFxyNxWSRmsoyhiEnpmabNm6WnUvR1OvJfUfN4ojC1A=="], + + "@iconify/collections": ["@iconify/collections@1.0.629", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-1iT8HyMKpOvml6jxZDaW2dkdgzls4Ik7I/tn79hHqbPGWkNpIQsJSB3Dto+vAyboXLtsRvIKIwtSvfgrHR0HRw=="], + + "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="], + + "@iconify/utils": ["@iconify/utils@3.1.0", "", { "dependencies": { "@antfu/install-pkg": "^1.1.0", "@iconify/types": "^2.0.0", "mlly": "^1.8.0" } }, "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw=="], + + "@iconify/vue": ["@iconify/vue@5.0.0", "", { "dependencies": { "@iconify/types": "^2.0.0" }, "peerDependencies": { "vue": ">=3" } }, "sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg=="], + + "@internationalized/date": ["@internationalized/date@3.10.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw=="], + + "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="], + + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="], + + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.0", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, "sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA=="], + + "@nuxt/devtools-kit": ["@nuxt/devtools-kit@3.1.1", "", { "dependencies": { "@nuxt/kit": "^4.2.1", "execa": "^8.0.1" }, "peerDependencies": { "vite": ">=6.0" } }, "sha512-sjiKFeDCOy1SyqezSgyV4rYNfQewC64k/GhOsuJgRF+wR2qr6KTVhO6u2B+csKs74KrMrnJprQBgud7ejvOXAQ=="], + + "@nuxt/fonts": ["@nuxt/fonts@0.12.1", "", { "dependencies": { "@nuxt/devtools-kit": "^3.0.1", "@nuxt/kit": "^4.2.1", "consola": "^3.4.2", "css-tree": "^3.1.0", "defu": "^6.1.4", "esbuild": "^0.25.12", "fontaine": "^0.7.0", "fontless": "^0.1.0", "h3": "^1.15.4", "jiti": "^2.6.1", "magic-regexp": "^0.10.0", "magic-string": "^0.30.21", "node-fetch-native": "^1.6.7", "ohash": "^2.0.11", "pathe": "^2.0.3", "sirv": "^3.0.2", "tinyglobby": "^0.2.15", "ufo": "^1.6.1", "unifont": "^0.6.0", "unplugin": "^2.3.10", "unstorage": "^1.17.2" } }, "sha512-ALajI/HE+uqqL/PWkWwaSUm1IdpyGPbP3mYGy2U1l26/o4lUZBxjFaduMxaZ85jS5yQeJfCu2eEHANYFjAoujQ=="], + + "@nuxt/icon": ["@nuxt/icon@2.1.1", "", { "dependencies": { "@iconify/collections": "^1.0.628", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.0", "@iconify/vue": "^5.0.0", "@nuxt/devtools-kit": "^3.1.1", "@nuxt/kit": "^4.2.2", "consola": "^3.4.2", "local-pkg": "^1.1.2", "mlly": "^1.8.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^3.10.0", "tinyglobby": "^0.2.15" } }, "sha512-KX991xA64ttUQYXnLFafOw8EYxmmGRtnd2z1P9PjMOeSxxLXxUL1v9fKH2njqtPkamiOI0fvthxfJpJ4uH71sw=="], + + "@nuxt/kit": ["@nuxt/kit@4.2.2", "", { "dependencies": { "c12": "^3.3.2", "consola": "^3.4.2", "defu": "^6.1.4", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.6.1", "klona": "^2.0.6", "mlly": "^1.8.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.0", "rc9": "^2.1.2", "scule": "^1.3.0", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ufo": "^1.6.1", "unctx": "^2.4.1", "untyped": "^2.0.0" } }, "sha512-ZAgYBrPz/yhVgDznBNdQj2vhmOp31haJbO0I0iah/P9atw+OHH7NJLUZ3PK+LOz/0fblKTN1XJVSi8YQ1TQ0KA=="], + + "@nuxt/schema": ["@nuxt/schema@4.2.2", "", { "dependencies": { "@vue/shared": "^3.5.25", "defu": "^6.1.4", "pathe": "^2.0.3", "pkg-types": "^2.3.0", "std-env": "^3.10.0" } }, "sha512-lW/1MNpO01r5eR/VoeanQio8Lg4QpDklMOHa4mBHhhPNlBO1qiRtVYzjcnNdun3hujGauRaO9khGjv93Z5TZZA=="], + + "@nuxt/ui": ["@nuxt/ui@4.2.1", "", { "dependencies": { "@iconify/vue": "^5.0.0", "@internationalized/date": "^3.10.0", "@internationalized/number": "^3.6.5", "@nuxt/fonts": "^0.12.1", "@nuxt/icon": "^2.1.0", "@nuxt/kit": "^4.2.1", "@nuxt/schema": "^4.2.1", "@nuxtjs/color-mode": "^3.5.2", "@standard-schema/spec": "^1.0.0", "@tailwindcss/postcss": "^4.1.17", "@tailwindcss/vite": "^4.1.17", "@tanstack/vue-table": "^8.21.3", "@tanstack/vue-virtual": "^3.13.12", "@unhead/vue": "^2.0.19", "@vueuse/core": "^13.9.0", "@vueuse/integrations": "^13.9.0", "colortranslator": "^5.0.0", "consola": "^3.4.2", "defu": "^6.1.4", "embla-carousel-auto-height": "^8.6.0", "embla-carousel-auto-scroll": "^8.6.0", "embla-carousel-autoplay": "^8.6.0", "embla-carousel-class-names": "^8.6.0", "embla-carousel-fade": "^8.6.0", "embla-carousel-vue": "^8.6.0", "embla-carousel-wheel-gestures": "^8.1.0", "fuse.js": "^7.1.0", "hookable": "^5.5.3", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.0", "motion-v": "^1.7.3", "ohash": "^2.0.11", "pathe": "^2.0.3", "reka-ui": "2.6.0", "scule": "^1.3.0", "tailwind-merge": "^3.4.0", "tailwind-variants": "^3.1.1", "tailwindcss": "^4.1.17", "tinyglobby": "^0.2.15", "unplugin": "^2.3.10", "unplugin-auto-import": "^20.2.0", "unplugin-vue-components": "^30.0.0", "vaul-vue": "0.4.1", "vue-component-type-helpers": "^3.1.4" }, "peerDependencies": { "@inertiajs/vue3": "^2.0.7", "@nuxt/content": "^3.0.0", "joi": "^18.0.0", "superstruct": "^2.0.0", "typescript": "^5.6.3", "valibot": "^1.0.0", "vue-router": "^4.5.0", "yup": "^1.7.0", "zod": "^3.24.0 || ^4.0.0" }, "optionalPeers": ["@inertiajs/vue3", "@nuxt/content", "joi", "superstruct", "valibot", "vue-router", "yup", "zod"], "bin": { "nuxt-ui": "cli/index.mjs" } }, "sha512-H5/0w1ktRDGk4ORKmGegqhNsR8DZEc+3Bb9a8aHsQVzDkGKqEJLh2iUJtalKs4QdUGkocDXaQy/xRudajOD4kg=="], + + "@nuxtjs/color-mode": ["@nuxtjs/color-mode@3.5.2", "", { "dependencies": { "@nuxt/kit": "^3.13.2", "pathe": "^1.1.2", "pkg-types": "^1.2.1", "semver": "^7.6.3" } }, "sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA=="], + + "@oxc-project/runtime": ["@oxc-project/runtime@0.102.0", "", {}, "sha512-vEDGxVIeeO+u5XCHD5+iSzWwC3DgRpEaf3lPZETC+6GnoRKHaxbxV6XqpbOhiY423RVkAbBEtfetfrjJjPWByA=="], + + "@oxc-project/types": ["@oxc-project/types@0.102.0", "", {}, "sha512-8Skrw405g+/UJPKWJ1twIk3BIH2nXdiVlVNtYT23AXVwpsd79es4K+KYt06Fbnkc5BaTvk/COT2JuCLYdwnCdA=="], + + "@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="], + + "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-beta.54", "", { "os": "android", "cpu": "arm64" }, "sha512-zZRx/ur3Fai3fxiEmVp48+6GCBR48PRWJR1X3TTMn9yiq2bBHlYPgBaQtDOYWXv5H3J5dXujeTyGnuoY+kdGCg=="], + + "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-beta.54", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zMyFEJmbIs91x22HAA/eUvmZHgjX8tGsD3TJ+WC9aY4bCdl3w84H9vMZmChSHAF1dYvGNH4KQDI2IubeZaCYtg=="], + + "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-beta.54", "", { "os": "darwin", "cpu": "x64" }, "sha512-Ex7QttdaVnEpmE/zroUT5Qm10e2+Vjd9q0LX9eXm59SitxDODMpC8GI1Rct5RrLf4GLU4DzdXBj6DGzuR+6g6w=="], + + "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-beta.54", "", { "os": "freebsd", "cpu": "x64" }, "sha512-E1XO10ryM/Vxw3Q1wvs9s2mSpVBfbHtzkbJcdu26qh17ZmVwNWLiIoqEcbkXm028YwkReG4Gd2gCZ3NxgTQ28Q=="], + + "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.54", "", { "os": "linux", "cpu": "arm" }, "sha512-oS73Uks8jczQR9pg0Bj718vap/x71exyJ5yuxu4X5V4MhwRQnky7ANSPm6ARUfraxOqt49IBfcMeGnw2rTSqdA=="], + + "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-beta.54", "", { "os": "linux", "cpu": "arm64" }, "sha512-pY8N2X5C+/ZQcy0eRdfOzOP//OFngP1TaIqDjFwfBPws2UNavKS8SpxhPEgUaYIaT0keVBd/TB+eVy9z+CIOtw=="], + + "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-beta.54", "", { "os": "linux", "cpu": "arm64" }, "sha512-cgTooAFm2MUmFriB7IYaWBNyqrGlRPKG+yaK2rGFl2rcdOcO24urY4p3eyB0ogqsRLvJbIxwjjYiWiIP7Eo1Cw=="], + + "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-beta.54", "", { "os": "linux", "cpu": "x64" }, "sha512-nGyLT1Qau0W+kEL44V2jhHmvfS3wyJW08E4WEu2E6NuIy+uChKN1X0aoxzFIDi2owDsYaZYez/98/f268EupIQ=="], + + "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-beta.54", "", { "os": "linux", "cpu": "x64" }, "sha512-KH374P0TUjDXssROT/orvzaWrzGOptD13PTrltgKwbDprJTMknoLiYsOD6Ttz92O2VuAcCtFuJ1xbyFM2Uo/Xg=="], + + "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-beta.54", "", { "os": "none", "cpu": "arm64" }, "sha512-oMAVO4wbfAbhpBxPsSp8R7ntL2DchpNfO+tGhN8/sI9jsbYwOv78uIW1fTwOBslhjTVFltGJ+l23mubNQcYNaQ=="], + + "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-beta.54", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.0" }, "cpu": "none" }, "sha512-MYY/FmY+HehHiQkNx04W5oLy/Fqd1hXYqZmmorSDXvAHnxMbSgmdFicKsSYOg/sVGHBMEP1tTn6kV5sWrS45rA=="], + + "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-beta.54", "", { "os": "win32", "cpu": "arm64" }, "sha512-66o3uKxUmcYskT9exskxs3OVduXf5x0ndlMkYOjSpBgqzhLtkub136yDvZkNT1OkNDET0odSwcU7aWdpnwzAyg=="], + + "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-beta.54", "", { "os": "win32", "cpu": "x64" }, "sha512-FbbbrboChLBXfeEsOfaypBGqzbdJ/CcSA2BPLCggojnIHy58Jo+AXV7HATY8opZk7194rRbokIT8AfPJtZAWtg=="], + + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.53", "", {}, "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.45.1", "", { "os": "android", "cpu": "arm" }, "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.45.1", "", { "os": "android", "cpu": "arm64" }, "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.45.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.45.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.45.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.45.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.45.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.45.1", "", { "os": "linux", "cpu": "arm" }, "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.45.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.45.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog=="], + + "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.45.1", "", { "os": "linux", "cpu": "none" }, "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg=="], + + "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.45.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.45.1", "", { "os": "linux", "cpu": "none" }, "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.45.1", "", { "os": "linux", "cpu": "none" }, "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.45.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.45.1", "", { "os": "linux", "cpu": "x64" }, "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.45.1", "", { "os": "linux", "cpu": "x64" }, "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.45.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.45.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.45.1", "", { "os": "win32", "cpu": "x64" }, "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA=="], + + "@shikijs/core": ["@shikijs/core@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g=="], + + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.4" } }, "sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg=="], + + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ=="], + + "@shikijs/langs": ["@shikijs/langs@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0" } }, "sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA=="], + + "@shikijs/langs-precompiled": ["@shikijs/langs-precompiled@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0", "oniguruma-to-es": "^4.3.4" } }, "sha512-w6LPOawFUM+S3/ZIHfdzeonrJBUb8sYzuobWIAPwkv3/FUnWn02hXM3PlXycUHcNiU6+gZf4hAGU2A2Xl9HWMQ=="], + + "@shikijs/themes": ["@shikijs/themes@3.20.0", "", { "dependencies": { "@shikijs/types": "3.20.0" } }, "sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ=="], + + "@shikijs/types": ["@shikijs/types@3.20.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw=="], + + "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], + + "@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="], + + "@swc/helpers": ["@swc/helpers@0.5.17", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.18", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.1", "lightningcss": "1.30.2", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.1.18" } }, "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.18", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.18", "@tailwindcss/oxide-darwin-arm64": "4.1.18", "@tailwindcss/oxide-darwin-x64": "4.1.18", "@tailwindcss/oxide-freebsd-x64": "4.1.18", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", "@tailwindcss/oxide-linux-x64-musl": "4.1.18", "@tailwindcss/oxide-wasm32-wasi": "4.1.18", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" } }, "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.18", "", { "os": "android", "cpu": "arm64" }, "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.18", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.18", "", { "os": "darwin", "cpu": "x64" }, "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.18", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18", "", { "os": "linux", "cpu": "arm" }, "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.18", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.0", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.18", "", { "os": "win32", "cpu": "arm64" }, "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.18", "", { "os": "win32", "cpu": "x64" }, "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q=="], + + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.18", "@tailwindcss/oxide": "4.1.18", "postcss": "^8.4.41", "tailwindcss": "4.1.18" } }, "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.1.18", "", { "dependencies": { "@tailwindcss/node": "4.1.18", "@tailwindcss/oxide": "4.1.18", "tailwindcss": "4.1.18" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA=="], + + "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], + + "@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.13", "", {}, "sha512-uQFoSdKKf5S8k51W5t7b2qpfkyIbdHMzAn+AMQvHPxKUPeo1SsGaA4JRISQT87jm28b7z8OEqPcg1IOZagQHcA=="], + + "@tanstack/vue-table": ["@tanstack/vue-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "vue": ">=3.2" } }, "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw=="], + + "@tanstack/vue-virtual": ["@tanstack/vue-virtual@3.13.13", "", { "dependencies": { "@tanstack/virtual-core": "3.13.13" }, "peerDependencies": { "vue": "^2.7.0 || ^3.0.0" } }, "sha512-Cf2xIEE8nWAfsX0N5nihkPYMeQRT+pHt4NEkuP8rNCn6lVnLDiV8rC8IeIxbKmQC0yPnj4SIBLwXYVf86xxKTQ=="], + + "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], + + "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], + + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + + "@types/web-bluetooth": ["@types/web-bluetooth@0.0.21", "", {}, "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA=="], + + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], + + "@unhead/vue": ["@unhead/vue@2.0.19", "", { "dependencies": { "hookable": "^5.5.3", "unhead": "2.0.19" }, "peerDependencies": { "vue": ">=3.5.18" } }, "sha512-7BYjHfOaoZ9+ARJkT10Q2TjnTUqDXmMpfakIAsD/hXiuff1oqWg1xeXT5+MomhNcC15HbiABpbbBmITLSHxdKg=="], + + "@vitejs/plugin-vue": ["@vitejs/plugin-vue@6.0.3", "", { "dependencies": { "@rolldown/pluginutils": "1.0.0-beta.53" }, "peerDependencies": { "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "vue": "^3.2.25" } }, "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w=="], + + "@volar/language-core": ["@volar/language-core@2.4.26", "", { "dependencies": { "@volar/source-map": "2.4.26" } }, "sha512-hH0SMitMxnB43OZpyF1IFPS9bgb2I3bpCh76m2WEK7BE0A0EzpYsRp0CCH2xNKshr7kacU5TQBLYn4zj7CG60A=="], + + "@volar/source-map": ["@volar/source-map@2.4.26", "", {}, "sha512-JJw0Tt/kSFsIRmgTQF4JSt81AUSI1aEye5Zl65EeZ8H35JHnTvFGmpDOBn5iOxd48fyGE+ZvZBp5FcgAy/1Qhw=="], + + "@volar/typescript": ["@volar/typescript@2.4.26", "", { "dependencies": { "@volar/language-core": "2.4.26", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-N87ecLD48Sp6zV9zID/5yuS1+5foj0DfuYGdQ6KHj/IbKvyKv1zNX6VCmnKYwtmHadEO6mFc2EKISiu3RDPAvA=="], + + "@vue/compiler-core": ["@vue/compiler-core@3.5.25", "", { "dependencies": { "@babel/parser": "^7.28.5", "@vue/shared": "3.5.25", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw=="], + + "@vue/compiler-dom": ["@vue/compiler-dom@3.5.25", "", { "dependencies": { "@vue/compiler-core": "3.5.25", "@vue/shared": "3.5.25" } }, "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q=="], + + "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.25", "", { "dependencies": { "@babel/parser": "^7.28.5", "@vue/compiler-core": "3.5.25", "@vue/compiler-dom": "3.5.25", "@vue/compiler-ssr": "3.5.25", "@vue/shared": "3.5.25", "estree-walker": "^2.0.2", "magic-string": "^0.30.21", "postcss": "^8.5.6", "source-map-js": "^1.2.1" } }, "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag=="], + + "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.25", "", { "dependencies": { "@vue/compiler-dom": "3.5.25", "@vue/shared": "3.5.25" } }, "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A=="], + + "@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="], + + "@vue/language-core": ["@vue/language-core@3.1.8", "", { "dependencies": { "@volar/language-core": "2.4.26", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.0.0", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.2" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-PfwAW7BLopqaJbneChNL6cUOTL3GL+0l8paYP5shhgY5toBNidWnMXWM+qDwL7MC9+zDtzCF2enT8r6VPu64iw=="], + + "@vue/reactivity": ["@vue/reactivity@3.5.25", "", { "dependencies": { "@vue/shared": "3.5.25" } }, "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA=="], + + "@vue/runtime-core": ["@vue/runtime-core@3.5.25", "", { "dependencies": { "@vue/reactivity": "3.5.25", "@vue/shared": "3.5.25" } }, "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA=="], + + "@vue/runtime-dom": ["@vue/runtime-dom@3.5.25", "", { "dependencies": { "@vue/reactivity": "3.5.25", "@vue/runtime-core": "3.5.25", "@vue/shared": "3.5.25", "csstype": "^3.1.3" } }, "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA=="], + + "@vue/server-renderer": ["@vue/server-renderer@3.5.25", "", { "dependencies": { "@vue/compiler-ssr": "3.5.25", "@vue/shared": "3.5.25" }, "peerDependencies": { "vue": "3.5.25" } }, "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ=="], + + "@vue/shared": ["@vue/shared@3.5.25", "", {}, "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg=="], + + "@vue/tsconfig": ["@vue/tsconfig@0.8.1", "", { "peerDependencies": { "typescript": "5.x", "vue": "^3.4.0" }, "optionalPeers": ["typescript", "vue"] }, "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g=="], + + "@vueuse/components": ["@vueuse/components@14.1.0", "", { "dependencies": { "@vueuse/core": "14.1.0", "@vueuse/shared": "14.1.0" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-SDRJUAv3H7/PMh+KkYpq0d5KMzpKOfqx4qcV4xyN4mZOLPw8NkiWu+yDcfXwI8h1uCqhRNz2cdeaLa+IuaehFw=="], + + "@vueuse/core": ["@vueuse/core@14.1.0", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "14.1.0", "@vueuse/shared": "14.1.0" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw=="], + + "@vueuse/integrations": ["@vueuse/integrations@13.9.0", "", { "dependencies": { "@vueuse/core": "13.9.0", "@vueuse/shared": "13.9.0" }, "peerDependencies": { "async-validator": "^4", "axios": "^1", "change-case": "^5", "drauu": "^0.4", "focus-trap": "^7", "fuse.js": "^7", "idb-keyval": "^6", "jwt-decode": "^4", "nprogress": "^0.2", "qrcode": "^1.5", "sortablejs": "^1", "universal-cookie": "^7 || ^8", "vue": "^3.5.0" }, "optionalPeers": ["async-validator", "axios", "change-case", "drauu", "focus-trap", "fuse.js", "idb-keyval", "jwt-decode", "nprogress", "qrcode", "sortablejs", "universal-cookie"] }, "sha512-SDobKBbPIOe0cVL7QxMzGkuUGHvWTdihi9zOrrWaWUgFKe15cwEcwfWmgrcNzjT6kHnNmWuTajPHoIzUjYNYYQ=="], + + "@vueuse/metadata": ["@vueuse/metadata@14.1.0", "", {}, "sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA=="], + + "@vueuse/shared": ["@vueuse/shared@14.1.0", "", { "peerDependencies": { "vue": "^3.5.0" } }, "sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw=="], + + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "alien-signals": ["alien-signals@3.1.1", "", {}, "sha512-ogkIWbVrLwKtHY6oOAXaYkAxP+cTH7V5FZ5+Tm4NZFd8VDZ6uNMDrfzqctTZ42eTMCSR3ne3otpcxmqSnFfPYA=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + + "arkregex": ["arkregex@0.0.5", "", { "dependencies": { "@ark/util": "0.56.0" } }, "sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw=="], + + "arktype": ["arktype@2.1.29", "", { "dependencies": { "@ark/schema": "0.56.0", "@ark/util": "0.56.0", "arkregex": "0.0.5" } }, "sha512-jyfKk4xIOzvYNayqnD8ZJQqOwcrTOUbIU4293yrzAjA3O1dWh61j71ArMQ6tS/u4pD7vabSPe7nG3RCyoXW6RQ=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "brotli": ["brotli@1.3.3", "", { "dependencies": { "base64-js": "^1.1.2" } }, "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg=="], + + "c12": ["c12@3.3.2", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^17.2.3", "exsolve": "^1.0.8", "giget": "^2.0.0", "jiti": "^2.6.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.0.0", "pkg-types": "^2.3.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "*" }, "optionalPeers": ["magicast"] }, "sha512-QkikB2X5voO1okL3QsES0N690Sn/K9WokXqUsDQsWy5SnYb+psYQFGA10iy1bZHj3fjISKsI67Q90gruvWWM3A=="], + + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], + + "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], + + "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], + + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + + "clone": ["clone@2.1.2", "", {}, "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="], + + "colortranslator": ["colortranslator@5.0.0", "", {}, "sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w=="], + + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], + + "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], + + "confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + + "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + + "cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="], + + "css-tree": ["css-tree@3.1.0", "", { "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w=="], + + "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + + "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], + + "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], + + "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], + + "dfa": ["dfa@1.2.0", "", {}, "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="], + + "discontinuous-range": ["discontinuous-range@1.0.0", "", {}, "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="], + + "dotenv": ["dotenv@17.2.3", "", {}, "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="], + + "embla-carousel": ["embla-carousel@8.6.0", "", {}, "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA=="], + + "embla-carousel-auto-height": ["embla-carousel-auto-height@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ=="], + + "embla-carousel-auto-scroll": ["embla-carousel-auto-scroll@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ=="], + + "embla-carousel-autoplay": ["embla-carousel-autoplay@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA=="], + + "embla-carousel-class-names": ["embla-carousel-class-names@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw=="], + + "embla-carousel-fade": ["embla-carousel-fade@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg=="], + + "embla-carousel-reactive-utils": ["embla-carousel-reactive-utils@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A=="], + + "embla-carousel-vue": ["embla-carousel-vue@8.6.0", "", { "dependencies": { "embla-carousel": "8.6.0", "embla-carousel-reactive-utils": "8.6.0" }, "peerDependencies": { "vue": "^3.2.37" } }, "sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ=="], + + "embla-carousel-wheel-gestures": ["embla-carousel-wheel-gestures@8.1.0", "", { "dependencies": { "wheel-gestures": "^2.2.5" }, "peerDependencies": { "embla-carousel": "^8.0.0 || ~8.0.0-rc03" } }, "sha512-J68jkYrxbWDmXOm2n2YHl+uMEXzkGSKjWmjaEgL9xVvPb3HqVmg6rJSKfI3sqIDVvm7mkeTy87wtG/5263XqHQ=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="], + + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + + "errx": ["errx@0.1.0", "", {}, "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q=="], + + "esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], + + "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], + + "exsolve": ["exsolve@1.0.8", "", {}, "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "fontaine": ["fontaine@0.7.0", "", { "dependencies": { "@capsizecss/unpack": "^3.0.0", "css-tree": "^3.1.0", "magic-regexp": "^0.10.0", "magic-string": "^0.30.21", "pathe": "^2.0.3", "ufo": "^1.6.1", "unplugin": "^2.3.10" } }, "sha512-vlaWLyoJrOnCBqycmFo/CA8ZmPzuyJHYmgu261KYKByZ4YLz9sTyHZ4qoHgWSYiDsZXhiLo2XndVMz0WOAyZ8Q=="], + + "fontkit": ["fontkit@2.0.4", "", { "dependencies": { "@swc/helpers": "^0.5.12", "brotli": "^1.3.2", "clone": "^2.1.2", "dfa": "^1.2.0", "fast-deep-equal": "^3.1.3", "restructure": "^3.0.0", "tiny-inflate": "^1.0.3", "unicode-properties": "^1.4.0", "unicode-trie": "^2.0.0" } }, "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g=="], + + "fontless": ["fontless@0.1.0", "", { "dependencies": { "consola": "^3.4.2", "css-tree": "^3.1.0", "defu": "^6.1.4", "esbuild": "^0.25.12", "fontaine": "0.7.0", "jiti": "^2.6.1", "lightningcss": "^1.30.2", "magic-string": "^0.30.21", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1", "unifont": "^0.6.0", "unstorage": "^1.17.1" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-KyvRd732HuVd/XP9iEFTb1w8Q01TPSA5GaCJV9HYmPiEs/ZZg/on2YdrQmlKfi9gDGpmN5Bn27Ze/CHqk0vE+w=="], + + "framer-motion": ["framer-motion@12.23.12", "", { "dependencies": { "motion-dom": "^12.23.12", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "fuse.js": ["fuse.js@7.1.0", "", {}, "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ=="], + + "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], + + "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "h3": ["h3@1.15.4", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.5", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.2", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ=="], + + "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], + + "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], + + "hey-listen": ["hey-listen@1.0.8", "", {}, "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="], + + "hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="], + + "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], + + "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], + + "ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], + + "klona": ["klona@2.0.6", "", {}, "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="], + + "knitwork": ["knitwork@1.3.0", "", {}, "sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw=="], + + "lightningcss": ["lightningcss@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.2", "", { "os": "linux", "cpu": "arm" }, "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw=="], + + "local-pkg": ["local-pkg@1.1.2", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.3.0", "quansync": "^0.2.11" } }, "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A=="], + + "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "magic-regexp": ["magic-regexp@0.10.0", "", { "dependencies": { "estree-walker": "^3.0.3", "magic-string": "^0.30.12", "mlly": "^1.7.2", "regexp-tree": "^0.1.27", "type-level-regexp": "~0.1.17", "ufo": "^1.5.4", "unplugin": "^2.0.0" } }, "sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="], + + "mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="], + + "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], + + "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], + + "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + + "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], + + "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], + + "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="], + + "mlly": ["mlly@1.8.0", "", { "dependencies": { "acorn": "^8.15.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.1" } }, "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g=="], + + "moo": ["moo@0.5.2", "", {}, "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q=="], + + "motion-dom": ["motion-dom@12.23.12", "", { "dependencies": { "motion-utils": "^12.23.6" } }, "sha512-RcR4fvMCTESQBD/uKQe49D5RUeDOokkGRmz4ceaJKDBgHYtZtntC/s2vLvY38gqGaytinij/yi3hMcWVcEF5Kw=="], + + "motion-utils": ["motion-utils@12.23.6", "", {}, "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ=="], + + "motion-v": ["motion-v@1.7.4", "", { "dependencies": { "framer-motion": "12.23.12", "hey-listen": "^1.0.8", "motion-dom": "12.23.12" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", "vue": ">=3.0.0" } }, "sha512-YNDUAsany04wfI7YtHxQK3kxzNvh+OdFUk9GpA3+hMt7j6P+5WrVAAgr8kmPPoVza9EsJiAVhqoN3YYFN0Twrw=="], + + "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "nearley": ["nearley@2.20.1", "", { "dependencies": { "commander": "^2.19.0", "moo": "^0.5.0", "railroad-diagrams": "^1.0.0", "randexp": "0.4.6" }, "bin": { "nearleyc": "bin/nearleyc.js", "nearley-test": "bin/nearley-test.js", "nearley-unparse": "bin/nearley-unparse.js", "nearley-railroad": "bin/nearley-railroad.js" } }, "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ=="], + + "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], + + "node-mock-http": ["node-mock-http@1.0.4", "", {}, "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="], + + "nypm": ["nypm@0.6.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "pathe": "^2.0.3", "pkg-types": "^2.0.0", "tinyexec": "^0.3.2" }, "bin": { "nypm": "dist/cli.mjs" } }, "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg=="], + + "ofetch": ["ofetch@1.4.1", "", { "dependencies": { "destr": "^2.0.3", "node-fetch-native": "^1.6.4", "ufo": "^1.5.4" } }, "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw=="], + + "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + + "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="], + + "oniguruma-parser": ["oniguruma-parser@0.12.1", "", {}, "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w=="], + + "oniguruma-to-es": ["oniguruma-to-es@4.3.4", "", { "dependencies": { "oniguruma-parser": "^0.12.1", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA=="], + + "package-manager-detector": ["package-manager-detector@1.3.0", "", {}, "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ=="], + + "pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], + + "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "perfect-debounce": ["perfect-debounce@2.0.0", "", {}, "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "pkg-types": ["pkg-types@2.3.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], + + "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], + + "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="], + + "railroad-diagrams": ["railroad-diagrams@1.0.0", "", {}, "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="], + + "randexp": ["randexp@0.4.6", "", { "dependencies": { "discontinuous-range": "1.0.0", "ret": "~0.1.10" } }, "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ=="], + + "rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="], + + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="], + + "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], + + "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="], + + "regexp-tree": ["regexp-tree@0.1.27", "", { "bin": { "regexp-tree": "bin/regexp-tree" } }, "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA=="], + + "reka-ui": ["reka-ui@2.6.0", "", { "dependencies": { "@floating-ui/dom": "^1.6.13", "@floating-ui/vue": "^1.1.6", "@internationalized/date": "^3.5.0", "@internationalized/number": "^3.5.0", "@tanstack/vue-virtual": "^3.12.0", "@vueuse/core": "^12.5.0", "@vueuse/shared": "^12.5.0", "aria-hidden": "^1.2.4", "defu": "^6.1.4", "ohash": "^2.0.11" }, "peerDependencies": { "vue": ">= 3.2.0" } }, "sha512-NrGMKrABD97l890mFS3TNUzB0BLUfbL3hh0NjcJRIUSUljb288bx3Mzo31nOyUcdiiW0HqFGXJwyCBh9cWgb0w=="], + + "restructure": ["restructure@3.0.2", "", {}, "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw=="], + + "ret": ["ret@0.1.15", "", {}, "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="], + + "rolldown": ["rolldown@1.0.0-beta.54", "", { "dependencies": { "@oxc-project/types": "=0.102.0", "@rolldown/pluginutils": "1.0.0-beta.54" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-beta.54", "@rolldown/binding-darwin-arm64": "1.0.0-beta.54", "@rolldown/binding-darwin-x64": "1.0.0-beta.54", "@rolldown/binding-freebsd-x64": "1.0.0-beta.54", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.54", "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.54", "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.54", "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.54", "@rolldown/binding-linux-x64-musl": "1.0.0-beta.54", "@rolldown/binding-openharmony-arm64": "1.0.0-beta.54", "@rolldown/binding-wasm32-wasi": "1.0.0-beta.54", "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.54", "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.54" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-3lIvjCWgjPL3gmiATUdV1NeVBGJZy6FdtwgLPol25tAkn46Q/MsVGfCSNswXwFOxGrxglPaN20IeALSIFuFyEg=="], + + "rollup": ["rollup@4.45.1", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.45.1", "@rollup/rollup-android-arm64": "4.45.1", "@rollup/rollup-darwin-arm64": "4.45.1", "@rollup/rollup-darwin-x64": "4.45.1", "@rollup/rollup-freebsd-arm64": "4.45.1", "@rollup/rollup-freebsd-x64": "4.45.1", "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", "@rollup/rollup-linux-arm-musleabihf": "4.45.1", "@rollup/rollup-linux-arm64-gnu": "4.45.1", "@rollup/rollup-linux-arm64-musl": "4.45.1", "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", "@rollup/rollup-linux-riscv64-gnu": "4.45.1", "@rollup/rollup-linux-riscv64-musl": "4.45.1", "@rollup/rollup-linux-s390x-gnu": "4.45.1", "@rollup/rollup-linux-x64-gnu": "4.45.1", "@rollup/rollup-linux-x64-musl": "4.45.1", "@rollup/rollup-win32-arm64-msvc": "4.45.1", "@rollup/rollup-win32-ia32-msvc": "4.45.1", "@rollup/rollup-win32-x64-msvc": "4.45.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw=="], + + "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="], + + "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "shiki": ["shiki@3.20.0", "", { "dependencies": { "@shikijs/core": "3.20.0", "@shikijs/engine-javascript": "3.20.0", "@shikijs/engine-oniguruma": "3.20.0", "@shikijs/langs": "3.20.0", "@shikijs/themes": "3.20.0", "@shikijs/types": "3.20.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "sirv": ["sirv@3.0.2", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + + "sql-formatter": ["sql-formatter@15.6.12", "", { "dependencies": { "argparse": "^2.0.1", "nearley": "^2.20.1" }, "bin": { "sql-formatter": "bin/sql-formatter-cli.cjs" } }, "sha512-mkpF+RG402P66VMsnQkWewTRzDBWfu9iLbOfxaW/nAKOS/2A9MheQmcU5cmX0D0At9azrorZwpvcBRNNBozACQ=="], + + "std-env": ["std-env@3.10.0", "", {}, "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg=="], + + "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], + + "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], + + "strip-literal": ["strip-literal@3.1.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg=="], + + "tailwind-merge": ["tailwind-merge@3.4.0", "", {}, "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g=="], + + "tailwind-variants": ["tailwind-variants@3.2.2", "", { "peerDependencies": { "tailwind-merge": ">=3.0.0", "tailwindcss": "*" }, "optionalPeers": ["tailwind-merge"] }, "sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg=="], + + "tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="], + + "tapable": ["tapable@2.2.1", "", {}, "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="], + + "temporal-polyfill": ["temporal-polyfill@0.3.0", "", { "dependencies": { "temporal-spec": "0.3.0" } }, "sha512-qNsTkX9K8hi+FHDfHmf22e/OGuXmfBm9RqNismxBrnSmZVJKegQ+HYYXT+R7Ha8F/YSm2Y34vmzD4cxMu2u95g=="], + + "temporal-spec": ["temporal-spec@0.3.0", "", {}, "sha512-n+noVpIqz4hYgFSMOSiINNOUOMFtV5cZQNCmmszA6GiVFVRt3G7AqVyhXjhCSmowvQn+NsGn+jMDMKJYHd3bSQ=="], + + "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], + + "tinyexec": ["tinyexec@1.0.1", "", {}, "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw=="], + + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="], + + "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "type-level-regexp": ["type-level-regexp@0.1.17", "", {}, "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], + + "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], + + "unctx": ["unctx@2.4.1", "", { "dependencies": { "acorn": "^8.14.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.17", "unplugin": "^2.1.0" } }, "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg=="], + + "unhead": ["unhead@2.0.19", "", { "dependencies": { "hookable": "^5.5.3" } }, "sha512-gEEjkV11Aj+rBnY6wnRfsFtF2RxKOLaPN4i+Gx3UhBxnszvV6ApSNZbGk7WKyy/lErQ6ekPN63qdFL7sa1leow=="], + + "unicode-properties": ["unicode-properties@1.4.1", "", { "dependencies": { "base64-js": "^1.3.0", "unicode-trie": "^2.0.0" } }, "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg=="], + + "unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="], + + "unifont": ["unifont@0.6.0", "", { "dependencies": { "css-tree": "^3.0.0", "ofetch": "^1.4.1", "ohash": "^2.0.0" } }, "sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA=="], + + "unimport": ["unimport@5.6.0", "", { "dependencies": { "acorn": "^8.15.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "local-pkg": "^1.1.2", "magic-string": "^0.30.21", "mlly": "^1.8.0", "pathe": "^2.0.3", "picomatch": "^4.0.3", "pkg-types": "^2.3.0", "scule": "^1.3.0", "strip-literal": "^3.1.0", "tinyglobby": "^0.2.15", "unplugin": "^2.3.11", "unplugin-utils": "^0.3.1" } }, "sha512-8rqAmtJV8o60x46kBAJKtHpJDJWkA2xcBqWKPI14MgUb05o1pnpnCnXSxedUXyeq7p8fR5g3pTo2BaswZ9lD9A=="], + + "unist-util-is": ["unist-util-is@6.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="], + + "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], + + "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], + + "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="], + + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="], + + "unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="], + + "unplugin-auto-import": ["unplugin-auto-import@20.3.0", "", { "dependencies": { "local-pkg": "^1.1.2", "magic-string": "^0.30.21", "picomatch": "^4.0.3", "unimport": "^5.5.0", "unplugin": "^2.3.11", "unplugin-utils": "^0.3.1" }, "peerDependencies": { "@nuxt/kit": "^4.0.0", "@vueuse/core": "*" }, "optionalPeers": ["@nuxt/kit", "@vueuse/core"] }, "sha512-RcSEQiVv7g0mLMMXibYVKk8mpteKxvyffGuDKqZZiFr7Oq3PB1HwgHdK5O7H4AzbhzHoVKG0NnMnsk/1HIVYzQ=="], + + "unplugin-utils": ["unplugin-utils@0.3.1", "", { "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.3" } }, "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog=="], + + "unplugin-vue-components": ["unplugin-vue-components@30.0.0", "", { "dependencies": { "chokidar": "^4.0.3", "debug": "^4.4.3", "local-pkg": "^1.1.2", "magic-string": "^0.30.19", "mlly": "^1.8.0", "tinyglobby": "^0.2.15", "unplugin": "^2.3.10", "unplugin-utils": "^0.3.1" }, "peerDependencies": { "@babel/parser": "^7.15.8", "@nuxt/kit": "^3.2.2 || ^4.0.0", "vue": "2 || 3" }, "optionalPeers": ["@babel/parser", "@nuxt/kit"] }, "sha512-4qVE/lwCgmdPTp6h0qsRN2u642tt4boBQtcpn4wQcWZAsr8TQwq+SPT3NDu/6kBFxzo/sSEK4ioXhOOBrXc3iw=="], + + "unstorage": ["unstorage@1.17.3", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^4.0.3", "destr": "^2.0.5", "h3": "^1.15.4", "lru-cache": "^10.4.3", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", "ufo": "^1.6.1" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6.0.3 || ^7.0.0", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1.0.1", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q=="], + + "untyped": ["untyped@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "defu": "^6.1.4", "jiti": "^2.4.2", "knitwork": "^1.2.0", "scule": "^1.3.0" }, "bin": { "untyped": "dist/cli.mjs" } }, "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g=="], + + "vaul-vue": ["vaul-vue@0.4.1", "", { "dependencies": { "@vueuse/core": "^10.8.0", "reka-ui": "^2.0.0", "vue": "^3.4.5" } }, "sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ=="], + + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], + + "vfile-message": ["vfile-message@4.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw=="], + + "vite": ["vite@8.0.0-beta.2", "", { "dependencies": { "@oxc-project/runtime": "0.102.0", "fdir": "^6.5.0", "lightningcss": "^1.30.2", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rolldown": "1.0.0-beta.54", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "esbuild": "^0.25.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-PIkpGhNy7r5r6Sepwo07BDWf8vr6O4CXVBm+vg7aIpswvL0VNGTjok1qiNRypcqT9dhFQJggtPoubZwXM7yeAQ=="], + + "vite-plugin-singlefile": ["vite-plugin-singlefile@2.3.0", "", { "dependencies": { "micromatch": "^4.0.8" }, "peerDependencies": { "rollup": "^4.44.1", "vite": "^5.4.11 || ^6.0.0 || ^7.0.0" } }, "sha512-DAcHzYypM0CasNLSz/WG0VdKOCxGHErfrjOoyIPiNxTPTGmO6rRD/te93n1YL/s+miXq66ipF1brMBikf99c6A=="], + + "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="], + + "vue": ["vue@3.5.25", "", { "dependencies": { "@vue/compiler-dom": "3.5.25", "@vue/compiler-sfc": "3.5.25", "@vue/runtime-dom": "3.5.25", "@vue/server-renderer": "3.5.25", "@vue/shared": "3.5.25" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g=="], + + "vue-component-type-helpers": ["vue-component-type-helpers@3.1.8", "", {}, "sha512-oaowlmEM6BaYY+8o+9D9cuzxpWQWHqHTMKakMxXu0E+UCIOMTljyIPO15jcnaCwJtZu/zWDotK7mOIHvWD9mcw=="], + + "vue-demi": ["vue-demi@0.14.10", "", { "peerDependencies": { "@vue/composition-api": "^1.0.0-rc.1", "vue": "^3.0.0-0 || ^2.6.0" }, "optionalPeers": ["@vue/composition-api"], "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" } }, "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg=="], + + "vue-router": ["vue-router@4.6.4", "", { "dependencies": { "@vue/devtools-api": "^6.6.4" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg=="], + + "vue-tsc": ["vue-tsc@3.1.8", "", { "dependencies": { "@volar/typescript": "2.4.26", "@vue/language-core": "3.1.8" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "./bin/vue-tsc.js" } }, "sha512-deKgwx6exIHeZwF601P1ktZKNF0bepaSN4jBU3AsbldPx9gylUc1JDxYppl82yxgkAgaz0Y0LCLOi+cXe9HMYA=="], + + "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], + + "wheel-gestures": ["wheel-gestures@2.2.48", "", {}, "sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], + + "@jridgewell/gen-mapping/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "@jridgewell/trace-mapping/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "@nuxt/ui/@vueuse/core": ["@vueuse/core@13.9.0", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "13.9.0", "@vueuse/shared": "13.9.0" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA=="], + + "@nuxtjs/color-mode/@nuxt/kit": ["@nuxt/kit@3.17.4", "", { "dependencies": { "c12": "^3.0.4", "consola": "^3.4.2", "defu": "^6.1.4", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.5", "ignore": "^7.0.4", "jiti": "^2.4.2", "klona": "^2.0.6", "knitwork": "^1.2.0", "mlly": "^1.7.4", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.1.0", "scule": "^1.3.0", "semver": "^7.7.2", "std-env": "^3.9.0", "tinyglobby": "^0.2.13", "ufo": "^1.6.1", "unctx": "^2.4.1", "unimport": "^5.0.1", "untyped": "^2.0.0" } }, "sha512-l+hY8sy2XFfg3PigZj+PTu6+KIJzmbACTRimn1ew/gtCz+F38f6KTF4sMRTN5CUxiB8TRENgEonASmkAWfpO9Q=="], + + "@nuxtjs/color-mode/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], + + "@nuxtjs/color-mode/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "@nuxtjs/color-mode/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.7.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.7.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.0", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@vueuse/integrations/@vueuse/core": ["@vueuse/core@13.9.0", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "13.9.0", "@vueuse/shared": "13.9.0" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA=="], + + "@vueuse/integrations/@vueuse/shared": ["@vueuse/shared@13.9.0", "", { "peerDependencies": { "vue": "^3.5.0" } }, "sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g=="], + + "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "giget/node-fetch-native": ["node-fetch-native@1.6.6", "", {}, "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="], + + "magic-regexp/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "magic-regexp/magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "magic-regexp/mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + + "magic-regexp/unplugin": ["unplugin@2.3.4", "", { "dependencies": { "acorn": "^8.14.1", "picomatch": "^4.0.2", "webpack-virtual-modules": "^0.6.2" } }, "sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg=="], + + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + + "nypm/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + + "nypm/tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + + "ofetch/node-fetch-native": ["node-fetch-native@1.6.6", "", {}, "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="], + + "reka-ui/@vueuse/core": ["@vueuse/core@12.8.2", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "12.8.2", "@vueuse/shared": "12.8.2", "vue": "^3.5.13" } }, "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ=="], + + "reka-ui/@vueuse/shared": ["@vueuse/shared@12.8.2", "", { "dependencies": { "vue": "^3.5.13" } }, "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w=="], + + "rolldown/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.54", "", {}, "sha512-AHgcZ+w7RIRZ65ihSQL8YuoKcpD9Scew4sEeP1BBUT9QdTo6KjwHrZZXjID6nL10fhKessCH6OPany2QKwAwTQ=="], + + "unctx/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "unctx/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "unctx/magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "unctx/unplugin": ["unplugin@2.3.4", "", { "dependencies": { "acorn": "^8.14.1", "picomatch": "^4.0.2", "webpack-virtual-modules": "^0.6.2" } }, "sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg=="], + + "unimport/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "unstorage/ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="], + + "untyped/jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + + "untyped/knitwork": ["knitwork@1.2.0", "", {}, "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg=="], + + "vaul-vue/@vueuse/core": ["@vueuse/core@10.11.1", "", { "dependencies": { "@types/web-bluetooth": "^0.0.20", "@vueuse/metadata": "10.11.1", "@vueuse/shared": "10.11.1", "vue-demi": ">=0.14.8" } }, "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww=="], + + "vaul-vue/reka-ui": ["reka-ui@2.2.1", "", { "dependencies": { "@floating-ui/dom": "^1.6.13", "@floating-ui/vue": "^1.1.6", "@internationalized/date": "^3.5.0", "@internationalized/number": "^3.5.0", "@tanstack/vue-virtual": "^3.12.0", "@vueuse/core": "^12.5.0", "@vueuse/shared": "^12.5.0", "aria-hidden": "^1.2.4", "defu": "^6.1.4", "ohash": "^2.0.11" }, "peerDependencies": { "vue": ">= 3.2.0" } }, "sha512-oLHiyBn6gTIQGnTnv8G5LQuFp9j8HuUNl0qdnW3XPhFb/07hrxzFpjo2kt/jxOZive+n/XWDbOjSj2h9Hih3qA=="], + + "vaul-vue/vue": ["vue@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/compiler-sfc": "3.5.13", "@vue/runtime-dom": "3.5.13", "@vue/server-renderer": "3.5.13", "@vue/shared": "3.5.13" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ=="], + + "@nuxt/ui/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@13.9.0", "", {}, "sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg=="], + + "@nuxt/ui/@vueuse/core/@vueuse/shared": ["@vueuse/shared@13.9.0", "", { "peerDependencies": { "vue": "^3.5.0" } }, "sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g=="], + + "@nuxtjs/color-mode/@nuxt/kit/c12": ["c12@3.0.4", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.5.0", "exsolve": "^1.0.5", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.1.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-t5FaZTYbbCtvxuZq9xxIruYydrAGsJ+8UdP0pZzMiK2xl/gNiSOy0OxhLzHUEEb0m1QXYqfzfvyIFEmz/g9lqg=="], + + "@nuxtjs/color-mode/@nuxt/kit/exsolve": ["exsolve@1.0.5", "", {}, "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg=="], + + "@nuxtjs/color-mode/@nuxt/kit/ignore": ["ignore@7.0.4", "", {}, "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A=="], + + "@nuxtjs/color-mode/@nuxt/kit/jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + + "@nuxtjs/color-mode/@nuxt/kit/knitwork": ["knitwork@1.2.0", "", {}, "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg=="], + + "@nuxtjs/color-mode/@nuxt/kit/mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + + "@nuxtjs/color-mode/@nuxt/kit/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "@nuxtjs/color-mode/@nuxt/kit/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="], + + "@nuxtjs/color-mode/@nuxt/kit/std-env": ["std-env@3.9.0", "", {}, "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw=="], + + "@nuxtjs/color-mode/@nuxt/kit/tinyglobby": ["tinyglobby@0.2.13", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport": ["unimport@5.0.1", "", { "dependencies": { "acorn": "^8.14.1", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "local-pkg": "^1.1.1", "magic-string": "^0.30.17", "mlly": "^1.7.4", "pathe": "^2.0.3", "picomatch": "^4.0.2", "pkg-types": "^2.1.0", "scule": "^1.3.0", "strip-literal": "^3.0.0", "tinyglobby": "^0.2.13", "unplugin": "^2.3.2", "unplugin-utils": "^0.2.4" } }, "sha512-1YWzPj6wYhtwHE+9LxRlyqP4DiRrhGfJxdtH475im8ktyZXO3jHj/3PZ97zDdvkYoovFdi0K4SKl3a7l92v3sQ=="], + + "@nuxtjs/color-mode/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "@nuxtjs/color-mode/pkg-types/mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + + "@nuxtjs/color-mode/pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "@vueuse/integrations/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@13.9.0", "", {}, "sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg=="], + + "magic-regexp/estree-walker/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "magic-regexp/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "magic-regexp/mlly/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "magic-regexp/mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "magic-regexp/unplugin/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "magic-regexp/unplugin/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "mlly/pkg-types/mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="], + + "nypm/pkg-types/exsolve": ["exsolve@1.0.5", "", {}, "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg=="], + + "reka-ui/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@12.8.2", "", {}, "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A=="], + + "reka-ui/@vueuse/core/vue": ["vue@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/compiler-sfc": "3.5.13", "@vue/runtime-dom": "3.5.13", "@vue/server-renderer": "3.5.13", "@vue/shared": "3.5.13" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ=="], + + "reka-ui/@vueuse/shared/vue": ["vue@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/compiler-sfc": "3.5.13", "@vue/runtime-dom": "3.5.13", "@vue/server-renderer": "3.5.13", "@vue/shared": "3.5.13" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ=="], + + "unctx/estree-walker/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "unctx/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "unctx/unplugin/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "unimport/estree-walker/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "vaul-vue/@vueuse/core/@types/web-bluetooth": ["@types/web-bluetooth@0.0.20", "", {}, "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="], + + "vaul-vue/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@10.11.1", "", {}, "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw=="], + + "vaul-vue/@vueuse/core/@vueuse/shared": ["@vueuse/shared@10.11.1", "", { "dependencies": { "vue-demi": ">=0.14.8" } }, "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA=="], + + "vaul-vue/reka-ui/@internationalized/date": ["@internationalized/date@3.8.1", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA=="], + + "vaul-vue/reka-ui/@internationalized/number": ["@internationalized/number@3.6.2", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-E5QTOlMg9wo5OrKdHD6edo1JJlIoOsylh0+mbf0evi1tHJwMZfJSaBpGtnJV9N7w3jeiioox9EG/EWRWPh82vg=="], + + "vaul-vue/reka-ui/@tanstack/vue-virtual": ["@tanstack/vue-virtual@3.13.9", "", { "dependencies": { "@tanstack/virtual-core": "3.13.9" }, "peerDependencies": { "vue": "^2.7.0 || ^3.0.0" } }, "sha512-HsvHaOo+o52cVcPhomKDZ3CMpTF/B2qg+BhPHIQJwzn4VIqDyt/rRVqtIomG6jE83IFsE2vlr6cmx7h3dHA0SA=="], + + "vaul-vue/reka-ui/@vueuse/core": ["@vueuse/core@12.8.2", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "12.8.2", "@vueuse/shared": "12.8.2", "vue": "^3.5.13" } }, "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ=="], + + "vaul-vue/reka-ui/@vueuse/shared": ["@vueuse/shared@12.8.2", "", { "dependencies": { "vue": "^3.5.13" } }, "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w=="], + + "vaul-vue/vue/@vue/compiler-dom": ["@vue/compiler-dom@3.5.13", "", { "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="], + + "vaul-vue/vue/@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/compiler-core": "3.5.13", "@vue/compiler-dom": "3.5.13", "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", "postcss": "^8.4.48", "source-map-js": "^1.2.0" } }, "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ=="], + + "vaul-vue/vue/@vue/runtime-dom": ["@vue/runtime-dom@3.5.13", "", { "dependencies": { "@vue/reactivity": "3.5.13", "@vue/runtime-core": "3.5.13", "@vue/shared": "3.5.13", "csstype": "^3.1.3" } }, "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog=="], + + "vaul-vue/vue/@vue/server-renderer": ["@vue/server-renderer@3.5.13", "", { "dependencies": { "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13" }, "peerDependencies": { "vue": "3.5.13" } }, "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA=="], + + "vaul-vue/vue/@vue/shared": ["@vue/shared@3.5.13", "", {}, "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="], + + "@nuxtjs/color-mode/@nuxt/kit/c12/dotenv": ["dotenv@16.5.0", "", {}, "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg=="], + + "@nuxtjs/color-mode/@nuxt/kit/c12/perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + + "@nuxtjs/color-mode/@nuxt/kit/mlly/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "@nuxtjs/color-mode/@nuxt/kit/mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "@nuxtjs/color-mode/@nuxt/kit/tinyglobby/fdir": ["fdir@6.4.4", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg=="], + + "@nuxtjs/color-mode/@nuxt/kit/tinyglobby/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/local-pkg": ["local-pkg@1.1.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.0.1", "quansync": "^0.2.8" } }, "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/strip-literal": ["strip-literal@3.0.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/unplugin": ["unplugin@2.3.4", "", { "dependencies": { "acorn": "^8.14.1", "picomatch": "^4.0.2", "webpack-virtual-modules": "^0.6.2" } }, "sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/unplugin-utils": ["unplugin-utils@0.2.4", "", { "dependencies": { "pathe": "^2.0.2", "picomatch": "^4.0.2" } }, "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA=="], + + "@nuxtjs/color-mode/pkg-types/mlly/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "magic-regexp/mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "mlly/pkg-types/mlly/acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-dom": ["@vue/compiler-dom@3.5.13", "", { "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/compiler-core": "3.5.13", "@vue/compiler-dom": "3.5.13", "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", "postcss": "^8.4.48", "source-map-js": "^1.2.0" } }, "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ=="], + + "reka-ui/@vueuse/core/vue/@vue/runtime-dom": ["@vue/runtime-dom@3.5.13", "", { "dependencies": { "@vue/reactivity": "3.5.13", "@vue/runtime-core": "3.5.13", "@vue/shared": "3.5.13", "csstype": "^3.1.3" } }, "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog=="], + + "reka-ui/@vueuse/core/vue/@vue/server-renderer": ["@vue/server-renderer@3.5.13", "", { "dependencies": { "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13" }, "peerDependencies": { "vue": "3.5.13" } }, "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA=="], + + "reka-ui/@vueuse/core/vue/@vue/shared": ["@vue/shared@3.5.13", "", {}, "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-dom": ["@vue/compiler-dom@3.5.13", "", { "dependencies": { "@vue/compiler-core": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/compiler-core": "3.5.13", "@vue/compiler-dom": "3.5.13", "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", "postcss": "^8.4.48", "source-map-js": "^1.2.0" } }, "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ=="], + + "reka-ui/@vueuse/shared/vue/@vue/runtime-dom": ["@vue/runtime-dom@3.5.13", "", { "dependencies": { "@vue/reactivity": "3.5.13", "@vue/runtime-core": "3.5.13", "@vue/shared": "3.5.13", "csstype": "^3.1.3" } }, "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog=="], + + "reka-ui/@vueuse/shared/vue/@vue/server-renderer": ["@vue/server-renderer@3.5.13", "", { "dependencies": { "@vue/compiler-ssr": "3.5.13", "@vue/shared": "3.5.13" }, "peerDependencies": { "vue": "3.5.13" } }, "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA=="], + + "reka-ui/@vueuse/shared/vue/@vue/shared": ["@vue/shared@3.5.13", "", {}, "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="], + + "vaul-vue/reka-ui/@tanstack/vue-virtual/@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.9", "", {}, "sha512-3jztt0jpaoJO5TARe2WIHC1UQC3VMLAFUW5mmMo0yrkwtDB2AQP0+sh10BVUpWrnvHjSLvzFizydtEGLCJKFoQ=="], + + "vaul-vue/reka-ui/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@12.8.2", "", {}, "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A=="], + + "vaul-vue/vue/@vue/compiler-dom/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + + "vaul-vue/vue/@vue/compiler-sfc/@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], + + "vaul-vue/vue/@vue/compiler-sfc/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + + "vaul-vue/vue/@vue/compiler-sfc/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + + "vaul-vue/vue/@vue/compiler-sfc/magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "vaul-vue/vue/@vue/compiler-sfc/postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], + + "vaul-vue/vue/@vue/runtime-dom/@vue/reactivity": ["@vue/reactivity@3.5.13", "", { "dependencies": { "@vue/shared": "3.5.13" } }, "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg=="], + + "vaul-vue/vue/@vue/runtime-dom/@vue/runtime-core": ["@vue/runtime-core@3.5.13", "", { "dependencies": { "@vue/reactivity": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw=="], + + "vaul-vue/vue/@vue/server-renderer/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + + "@nuxtjs/color-mode/@nuxt/kit/mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/estree-walker/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/local-pkg/quansync": ["quansync@0.2.10", "", {}, "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="], + + "@nuxtjs/color-mode/@nuxt/kit/unimport/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-dom/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], + + "reka-ui/@vueuse/core/vue/@vue/runtime-dom/@vue/reactivity": ["@vue/reactivity@3.5.13", "", { "dependencies": { "@vue/shared": "3.5.13" } }, "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg=="], + + "reka-ui/@vueuse/core/vue/@vue/runtime-dom/@vue/runtime-core": ["@vue/runtime-core@3.5.13", "", { "dependencies": { "@vue/reactivity": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw=="], + + "reka-ui/@vueuse/core/vue/@vue/server-renderer/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-dom/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/@vue/compiler-core": ["@vue/compiler-core@3.5.13", "", { "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="], + + "reka-ui/@vueuse/shared/vue/@vue/runtime-dom/@vue/reactivity": ["@vue/reactivity@3.5.13", "", { "dependencies": { "@vue/shared": "3.5.13" } }, "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg=="], + + "reka-ui/@vueuse/shared/vue/@vue/runtime-dom/@vue/runtime-core": ["@vue/runtime-core@3.5.13", "", { "dependencies": { "@vue/reactivity": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw=="], + + "reka-ui/@vueuse/shared/vue/@vue/server-renderer/@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.13", "", { "dependencies": { "@vue/compiler-dom": "3.5.13", "@vue/shared": "3.5.13" } }, "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA=="], + + "vaul-vue/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], + + "vaul-vue/vue/@vue/compiler-sfc/@babel/parser/@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + + "vaul-vue/vue/@vue/compiler-sfc/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/@babel/parser/@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/@babel/parser/@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/magic-string/@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], + + "vaul-vue/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + + "vaul-vue/vue/@vue/compiler-sfc/@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "vaul-vue/vue/@vue/compiler-sfc/@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-sfc/@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-sfc/@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + + "vaul-vue/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "vaul-vue/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "reka-ui/@vueuse/core/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="], + + "reka-ui/@vueuse/shared/vue/@vue/compiler-dom/@vue/compiler-core/@babel/parser/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="], + } +} diff --git a/packages/router/src/Exceptions/local/exception.view.php b/packages/router/src/Exceptions/local/exception.view.php new file mode 100644 index 000000000..96f565337 --- /dev/null +++ b/packages/router/src/Exceptions/local/exception.view.php @@ -0,0 +1,21 @@ + + + + + + + Debug + + + + +
+ + + diff --git a/packages/router/src/Exceptions/local/package.json b/packages/router/src/Exceptions/local/package.json new file mode 100644 index 000000000..8bf420a4c --- /dev/null +++ b/packages/router/src/Exceptions/local/package.json @@ -0,0 +1,33 @@ +{ + "name": "tempest-exception-ui", + "type": "module", + "private": true, + "scripts": { + "dev": "vite build --watch", + "build": "vue-tsc -b && vite build" + }, + "devDependencies": { + "@nuxt/ui": "^4.2.1", + "@shikijs/langs-precompiled": "^3.20.0", + "@tailwindcss/vite": "^4.1.18", + "@vitejs/plugin-vue": "^6.0.3", + "@vue/tsconfig": "^0.8.1", + "@vueuse/components": "^14.1.0", + "@vueuse/core": "^14.1.0", + "arktype": "^2.1.29", + "motion-v": "^1.7.4", + "shiki": "^3.20.0", + "sql-formatter": "^15.6.12", + "tailwindcss": "^4.1.18", + "temporal-polyfill": "^0.3.0", + "typescript": "~5.9.3", + "vite": "8.0.0-beta.2", + "vite-plugin-singlefile": "^2.3.0", + "vue": "^3.5.25", + "vue-router": "^4.6.4", + "vue-tsc": "^3.1.8" + }, + "trustedDependencies": [ + "@tailwindcss/oxide" + ] +} diff --git a/packages/router/src/Exceptions/local/src/assets/noise.svg b/packages/router/src/Exceptions/local/src/assets/noise.svg new file mode 100644 index 000000000..94f208c6c --- /dev/null +++ b/packages/router/src/Exceptions/local/src/assets/noise.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/router/src/Exceptions/local/src/assets/tempest-logo.svg b/packages/router/src/Exceptions/local/src/assets/tempest-logo.svg new file mode 100644 index 000000000..236ff0824 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/assets/tempest-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/router/src/Exceptions/local/src/components/card.vue b/packages/router/src/Exceptions/local/src/components/card.vue new file mode 100644 index 000000000..4b7c93e3a --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/card.vue @@ -0,0 +1,20 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/components/stacktrace/application-frame.vue b/packages/router/src/Exceptions/local/src/components/stacktrace/application-frame.vue new file mode 100644 index 000000000..a61c89e78 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/stacktrace/application-frame.vue @@ -0,0 +1,43 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/components/stacktrace/code-snippet.vue b/packages/router/src/Exceptions/local/src/components/stacktrace/code-snippet.vue new file mode 100644 index 000000000..ba5f1de94 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/stacktrace/code-snippet.vue @@ -0,0 +1,49 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/components/stacktrace/file-label.vue b/packages/router/src/Exceptions/local/src/components/stacktrace/file-label.vue new file mode 100644 index 000000000..ecd180727 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/stacktrace/file-label.vue @@ -0,0 +1,31 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/components/stacktrace/stacktrace.ts b/packages/router/src/Exceptions/local/src/components/stacktrace/stacktrace.ts new file mode 100644 index 000000000..afbd3f368 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/stacktrace/stacktrace.ts @@ -0,0 +1,57 @@ +import { highlight } from '../../highlight' + +export interface CodeSnippet { + lines: Record + highlightedLine: number +} + +export interface Argument { + name: string | number + compact: string + json?: string +} + +export interface StacktraceFrame { + file: string + line: number + class?: string + function?: string + type: '::' | '->' + isVendor: boolean + snippet?: CodeSnippet + absoluteFile: string + relativeFile: string + arguments: Argument[] + index: number +} + +export interface Stacktrace { + message: string + exceptionClass: string + frames: StacktraceFrame[] + line: number + absoluteFile: string + relativeFile: string +} + +interface SymbolOptions { + formatted?: boolean + highlighted?: boolean +} + +export function getSymbolCall(frame: StacktraceFrame, options: SymbolOptions = {}): string { + if (!frame.class) { + return frame.function ?? '' + } + + const args = frame.arguments.map((argument) => `${argument.name}: ${argument.compact}`) + const formattedArgs = args.length > 0 + ? (options?.formatted ? `(\n ${args.join(',\n ')}\n);` : `(${args.join(',')});`) + : '();' + + const symbol = `${frame.class}${frame.type ?? ''}${frame.function ?? ''}${formattedArgs}` + + return options.highlighted + ? highlight(symbol, 'php') + : symbol +} diff --git a/packages/router/src/Exceptions/local/src/components/stacktrace/symbol-call.vue b/packages/router/src/Exceptions/local/src/components/stacktrace/symbol-call.vue new file mode 100644 index 000000000..57423cf24 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/stacktrace/symbol-call.vue @@ -0,0 +1,112 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/components/stacktrace/vendor-frames.vue b/packages/router/src/Exceptions/local/src/components/stacktrace/vendor-frames.vue new file mode 100644 index 000000000..910e36788 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/components/stacktrace/vendor-frames.vue @@ -0,0 +1,50 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/editor.ts b/packages/router/src/Exceptions/local/src/editor.ts new file mode 100644 index 000000000..478334504 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/editor.ts @@ -0,0 +1,19 @@ +// TODO: make configurable, store locally +const configuredEditor: 'vscode' | 'phpstorm' | 'zed' = 'vscode' + +export function openFileInEditor(file: string, line?: number) { + const filePath = encodeURIComponent(file) + const lineNumber = line ?? 1 + + switch (configuredEditor) { + case 'vscode': + window.open(`vscode://file/${filePath}:${lineNumber}`, '_self') + break + case 'phpstorm': + window.open(`phpstorm://open?file=${filePath}&line=${lineNumber}`, '_self') + break + case 'zed': + window.open(`zed://file/${filePath}:${lineNumber}`, '_self') + break + } +} diff --git a/packages/router/src/Exceptions/local/src/entrypoint/main.ts b/packages/router/src/Exceptions/local/src/entrypoint/main.ts new file mode 100644 index 000000000..c04c74d22 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/entrypoint/main.ts @@ -0,0 +1,24 @@ +import ui from '@nuxt/ui/vue-plugin' +import { createApp } from 'vue' +import { createRouter, createWebHistory } from 'vue-router' +import renderer from '../renderer.vue' +import { initializeExceptionStore } from '../store' +import './style.css' + +const app = createApp(renderer) +const router = createRouter({ + routes: [], + history: createWebHistory(), +}) + +const element = document.getElementById('tempest-hydration') +if (!element) { + throw new Error('Hydration element not found') +} +const hydration = JSON.parse(element.textContent!) +console.log(hydration) +initializeExceptionStore(hydration) + +app.use(router) +app.use(ui) +app.mount('#root') diff --git a/packages/router/src/Exceptions/local/src/entrypoint/style.css b/packages/router/src/Exceptions/local/src/entrypoint/style.css new file mode 100644 index 000000000..932d4a56a --- /dev/null +++ b/packages/router/src/Exceptions/local/src/entrypoint/style.css @@ -0,0 +1,149 @@ +@import "tailwindcss"; +@import "@nuxt/ui"; + +@theme { + --font-sans: "Inter Variable", ui-sans-serif, system-ui; + --font-mono: + "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Monaco, + Consolas, "Liberation Mono", "Courier New", monospace; + + --code-border: var(--ui-border); + --code-background: transparent; + --code-foreground: var(--ui-text-toned); + --code-keyword: #e95678; + --code-property: #fab795; + --code-type: #25b0bc; + --code-generic: #b877db; + --code-value: #f09483; + --code-variable: #f09483; + --code-comment: #6c6f93; + --code-highlight: #2e303e; + --code-addition: #09f7a052; + --code-deletion: #f43e5c52; + --code-gutter: #6c6f93; + --code-gutter-addition: #27d796; + --code-gutter-deletion: #f43e5c; + --code-moderate: #fab38e33; + --code-complex: #e9567833; + --code-adverb: #21bfc280; + --code-passive: #b877db80; + --code-complex-phrase: #25b0bc33; + --code-qualified: #6c6f9333; +} + +:root { + --ui-radius: 0.5rem; + + --ui-bg: var(--color-neutral-50); + --ui-bg-muted: var(--ui-color-neutral-50); + --ui-bg-elevated: var(--ui-color-neutral-100); + --ui-bg-accented: var(--ui-color-neutral-100); + --ui-bg-inverted: var(--ui-color-neutral-900); +} + +.dark { + --ui-bg: var(--color-neutral-950); + --ui-bg-muted: var(--ui-color-neutral-900); + --ui-bg-elevated: var(--ui-color-neutral-900); + --ui-bg-accented: var(--ui-color-neutral-800); + --ui-bg-inverted: var(--color-neutral-50); +} + +/* +|-------------------------------------------------------------------------- +| Scrollbars +|-------------------------------------------------------------------------- +*/ + +/* Scrollbar width */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +/* Scrollbar track */ +::-webkit-scrollbar-track { + background: transparent; + border-radius: 4px; +} + +/* Scrollbar thumb (the draggable part) */ +::-webkit-scrollbar-thumb { + background: var(--ui-border-accented); + border-radius: 4px; +} + +/* Scrollbar thumb on hover */ +::-webkit-scrollbar-thumb:hover { + background: var(--ui-text-dimmed); +} + +/* Firefox */ +* { + scrollbar-width: thin; + scrollbar-color: var(--ui-border-accented) transparent; +} + +/* +|-------------------------------------------------------------------------- +| Fonts +|-------------------------------------------------------------------------- +*/ + +@font-face { + font-family: "JetBrains Mono Variable"; + font-style: normal; + font-display: swap; + font-weight: 100 800; + src: url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono:vf@latest/latin-wght-normal.woff2) + format("woff2-variations"); + unicode-range: + U+0000-00FF, + U+0131, + U+0152-0153, + U+02BB-02BC, + U+02C6, + U+02DA, + U+02DC, + U+0304, + U+0308, + U+0329, + U+2000-206F, + U+20AC, + U+2122, + U+2191, + U+2193, + U+2212, + U+2215, + U+FEFF, + U+FFFD; +} + +@font-face { + font-family: "Inter Variable"; + font-style: normal; + font-display: swap; + font-weight: 100 900; + src: url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2) + format("woff2-variations"); + unicode-range: + U+0000-00FF, + U+0131, + U+0152-0153, + U+02BB-02BC, + U+02C6, + U+02DA, + U+02DC, + U+0304, + U+0308, + U+0329, + U+2000-206F, + U+20AC, + U+2122, + U+2191, + U+2193, + U+2212, + U+2215, + U+FEFF, + U+FFFD; +} diff --git a/packages/router/src/Exceptions/local/src/highlight.ts b/packages/router/src/Exceptions/local/src/highlight.ts new file mode 100644 index 000000000..d796883c2 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/highlight.ts @@ -0,0 +1,159 @@ +import { createHighlighterCore, type ThemeInput } from 'shiki/core' +import { createJavaScriptRawEngine } from 'shiki/engine/javascript' + +const tempest: ThemeInput = { + name: 'tempest', + type: 'dark', + colors: { + 'editor.background': 'var(--code-background)', + 'editor.foreground': 'var(--code-foreground)', + 'editorLineNumber.foreground': 'var(--code-gutter)', + 'editorGutter.background': 'var(--code-background)', + 'editor.selectionBackground': 'var(--code-highlight)', + 'editor.lineHighlightBackground': 'var(--code-highlight)', + }, + tokenColors: [ + { + scope: [ + 'comment', + 'punctuation.definition.comment', + 'comment.block', + 'comment.line', + ], + settings: { + foreground: 'var(--code-comment)', + fontStyle: 'italic', + }, + }, + { + scope: [ + 'keyword', + 'storage.type', + 'storage.modifier', + 'keyword.control', + 'keyword.operator', + 'keyword.other', + ], + settings: { + foreground: 'var(--code-keyword)', + }, + }, + { + scope: [ + 'variable.parameter', + 'variable.other', + 'variable.language', + 'entity.name.variable', + ], + settings: { + foreground: 'var(--code-variable)', + }, + }, + { + scope: [ + 'entity.name.type', + 'entity.name.class', + 'support.type', + 'support.class', + ], + settings: { + foreground: 'var(--code-type)', + }, + }, + { + scope: [ + 'entity.name.function', + 'support.function', + 'meta.function-call', + ], + settings: { + foreground: 'var(--code-generic)', + }, + }, + { + scope: [ + 'string', + 'string.quoted', + 'string.template', + 'constant.character', + 'constant.numeric', + 'constant.language', + 'constant.other', + ], + settings: { + foreground: 'var(--code-value)', + }, + }, + { + scope: [ + 'entity.other.attribute-name', + 'support.other.variable', + 'variable.other.property', + ], + settings: { + foreground: 'var(--code-property)', + }, + }, + { + scope: [ + 'punctuation', + 'meta.brace', + 'punctuation.definition.string', + 'punctuation.definition.variable', + 'punctuation.definition.parameters', + 'punctuation.definition.array', + ], + settings: { + foreground: 'var(--code-foreground)', + }, + }, + { + scope: [ + 'markup.bold', + ], + settings: { + fontStyle: 'bold', + }, + }, + { + scope: [ + 'markup.italic', + ], + settings: { + fontStyle: 'italic', + }, + }, + { + scope: [ + 'markup.inserted', + ], + settings: { + foreground: 'var(--code-gutter-addition)', + }, + }, + { + scope: [ + 'markup.deleted', + ], + settings: { + foreground: 'var(--code-gutter-deletion)', + }, + }, + ], +} + +export const highlighter = await createHighlighterCore({ + themes: [ + tempest, + ], + langs: [ + import('@shikijs/langs-precompiled/php'), + import('@shikijs/langs-precompiled/json'), + import('@shikijs/langs-precompiled/sql'), + ], + engine: createJavaScriptRawEngine(), +}) + +export function highlight(code: string, lang: string) { + return highlighter.codeToHtml(code, { lang, theme: 'tempest' }) +} diff --git a/packages/router/src/Exceptions/local/src/renderer.vue b/packages/router/src/Exceptions/local/src/renderer.vue new file mode 100644 index 000000000..60481a146 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/renderer.vue @@ -0,0 +1,45 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/sections/headers.vue b/packages/router/src/Exceptions/local/src/sections/headers.vue new file mode 100644 index 000000000..d40937f4c --- /dev/null +++ b/packages/router/src/Exceptions/local/src/sections/headers.vue @@ -0,0 +1,44 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/sections/request-body.vue b/packages/router/src/Exceptions/local/src/sections/request-body.vue new file mode 100644 index 000000000..1b29a3c58 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/sections/request-body.vue @@ -0,0 +1,16 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/sections/stacktrace.vue b/packages/router/src/Exceptions/local/src/sections/stacktrace.vue new file mode 100644 index 000000000..e35d68273 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/sections/stacktrace.vue @@ -0,0 +1,46 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/sections/summary.vue b/packages/router/src/Exceptions/local/src/sections/summary.vue new file mode 100644 index 000000000..f78198182 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/sections/summary.vue @@ -0,0 +1,116 @@ + + + diff --git a/packages/router/src/Exceptions/local/src/store.ts b/packages/router/src/Exceptions/local/src/store.ts new file mode 100644 index 000000000..35da5e8a5 --- /dev/null +++ b/packages/router/src/Exceptions/local/src/store.ts @@ -0,0 +1,44 @@ +import { reactive } from 'vue' +import type { Stacktrace } from './components/stacktrace/stacktrace' + +interface InitializingStore { + step: 'initializing' +} +interface ReadyStore { + step: 'ready' + exception: ExceptionState +} + +export interface ExceptionState { + stacktrace: Stacktrace + rootPath: string + request: { + uri: string + method: string + headers: Record + body?: string + } + response: { + status: number + } + resources: { + memoryPeakUsage: number + executionTimeMs: number + } + versions: { + php: string + tempest: string + } +} + +export const store = reactive({ + step: 'initializing', +}) + +export function initializeExceptionStore(data: ExceptionState) { + store.step = 'ready' + + if (store.step === 'ready') { + store.exception = data + } +} diff --git a/packages/router/src/Exceptions/local/tsconfig.app.json b/packages/router/src/Exceptions/local/tsconfig.app.json new file mode 100644 index 000000000..a67f8fb16 --- /dev/null +++ b/packages/router/src/Exceptions/local/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + /* Linting */ + "strict": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noUncheckedSideEffectImports": true + }, + "include": ["./*.ts", "./*.vue", "src/renderer.vue", "vite-env.d.ts", "src/entrypoint/main.ts"] +} diff --git a/packages/router/src/Exceptions/local/tsconfig.json b/packages/router/src/Exceptions/local/tsconfig.json new file mode 100644 index 000000000..c93f755c1 --- /dev/null +++ b/packages/router/src/Exceptions/local/tsconfig.json @@ -0,0 +1,7 @@ +{ + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ], + "files": [] +} diff --git a/packages/router/src/Exceptions/local/tsconfig.node.json b/packages/router/src/Exceptions/local/tsconfig.node.json new file mode 100644 index 000000000..674001e84 --- /dev/null +++ b/packages/router/src/Exceptions/local/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "moduleDetection": "force", + "module": "ESNext", + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + + /* Linting */ + "strict": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noEmit": true, + "isolatedModules": true, + "skipLibCheck": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/packages/router/src/Exceptions/local/vite-env.d.ts b/packages/router/src/Exceptions/local/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/packages/router/src/Exceptions/local/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/router/src/Exceptions/local/vite.config.ts b/packages/router/src/Exceptions/local/vite.config.ts new file mode 100644 index 000000000..e325691bb --- /dev/null +++ b/packages/router/src/Exceptions/local/vite.config.ts @@ -0,0 +1,59 @@ +import ui from '@nuxt/ui/vite' +import tailwindcss from '@tailwindcss/vite' +import vue from '@vitejs/plugin-vue' +import { defineConfig } from 'vite' +import { viteSingleFile } from 'vite-plugin-singlefile' + +export default defineConfig({ + plugins: [ + vue(), + tailwindcss(), + ui({ + ui: { + colors: { + primary: 'blue', + neutral: 'zinc', + }, + card: { + defaultVariants: { + variant: 'soft', + }, + }, + badge: { + defaultVariants: { + variant: 'soft', + }, + }, + input: { + defaultVariants: { + variant: 'soft', + }, + }, + button: { + slots: { + base: 'not-disabled:cursor-pointer', + }, + defaultVariants: { + variant: 'soft', + }, + }, + tooltip: { + slots: { + content: 'px-4 py-2 h-auto bg-default/90 text-toned font-mono', + }, + }, + }, + }), + viteSingleFile(), + ], + build: { + rollupOptions: { + input: ['./src/entrypoint/main.ts'], + output: { + inlineDynamicImports: true, + assetFileNames: '[name][extname]', + entryFileNames: '[name].js', + }, + }, + }, +}) diff --git a/packages/router/src/Exceptions/html/error.view.php b/packages/router/src/Exceptions/production/error.view.php similarity index 100% rename from packages/router/src/Exceptions/html/error.view.php rename to packages/router/src/Exceptions/production/error.view.php diff --git a/packages/router/src/Exceptions/html/style.css b/packages/router/src/Exceptions/production/style.css similarity index 100% rename from packages/router/src/Exceptions/html/style.css rename to packages/router/src/Exceptions/production/style.css From 2ca8f44fa489a58ca8954ecc0d4c0e641e332122 Mon Sep 17 00:00:00 2001 From: Enzo Innocenzi Date: Wed, 17 Dec 2025 23:14:58 +0100 Subject: [PATCH 07/23] fix: include exception page build --- composer.json | 1 + .../router/src/Exceptions/local/.gitignore | 1 + .../router/src/Exceptions/local/dist/main.js | 140 ++++++++++++++++++ .../src/Exceptions/local/dist/style.css | 3 + .../Exceptions/local/src/sections/summary.vue | 1 - 5 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 packages/router/src/Exceptions/local/dist/main.js create mode 100644 packages/router/src/Exceptions/local/dist/style.css diff --git a/composer.json b/composer.json index ac17f5e80..1a4bff1ff 100644 --- a/composer.json +++ b/composer.json @@ -256,6 +256,7 @@ "rector": "vendor/bin/rector process --no-ansi", "merge": "php -d\"error_reporting = E_ALL & ~E_DEPRECATED\" vendor/bin/monorepo-builder merge", "intl:plural": "./packages/intl/bin/plural-rules.php", + "exceptions:build": "cd ./packages/router/src/Exceptions/local && bun i && bun run build", "release": [ "composer qa", "./bin/release" diff --git a/packages/router/src/Exceptions/local/.gitignore b/packages/router/src/Exceptions/local/.gitignore index 4767b19e5..4330955aa 100644 --- a/packages/router/src/Exceptions/local/.gitignore +++ b/packages/router/src/Exceptions/local/.gitignore @@ -1,3 +1,4 @@ node_modules auto-imports.d.ts components.d.ts +!dist diff --git a/packages/router/src/Exceptions/local/dist/main.js b/packages/router/src/Exceptions/local/dist/main.js new file mode 100644 index 000000000..5296ea7ff --- /dev/null +++ b/packages/router/src/Exceptions/local/dist/main.js @@ -0,0 +1,140 @@ +var e=Object.defineProperty,t=(e,t)=>()=>(e&&(t=e(e=0)),t),n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n&&e(r,Symbol.toStringTag,{value:`Module`}),r};function r(e,t={},n){for(let i in e){let a=e[i],o=n?`${n}:${i}`:i;typeof a==`object`&&a?r(a,t,o):typeof a==`function`&&(t[o]=a)}return t}var i={run:e=>e()},a=console.createTask===void 0?()=>i:console.createTask;function o(e,t){let n=a(t.shift());return e.reduce((e,r)=>e.then(()=>n.run(()=>r(...t))),Promise.resolve())}function s(e,t){let n=a(t.shift());return Promise.all(e.map(e=>n.run(()=>e(...t))))}function c(e,t){for(let n of[...e])n(t)}var l=class{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,`name`,{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){if(this._hooks[e]){let n=this._hooks[e].indexOf(t);n!==-1&&this._hooks[e].splice(n,1),this._hooks[e].length===0&&delete this._hooks[e]}}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];delete this._hooks[e];for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in Object.assign(this._deprecatedHooks,e),e)this.deprecateHook(t,e[t])}addHooks(e){let t=r(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n.splice(0,n.length))e()}}removeHooks(e){let t=r(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){for(let e in this._hooks)delete this._hooks[e]}callHook(e,...t){return t.unshift(e),this.callHookWith(o,e,...t)}callHookParallel(e,...t){return t.unshift(e),this.callHookWith(s,e,...t)}callHookWith(e,t,...n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&c(this._before,r);let i=e(t in this._hooks?[...this._hooks[t]]:[],n);return i instanceof Promise?i.finally(()=>{this._after&&r&&c(this._after,r)}):(this._after&&r&&c(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function u(){return new l}var d=new Set([`link`,`style`,`script`,`noscript`]),f=new Set([`title`,`titleTemplate`,`script`,`style`,`noscript`]),p=new Set([`base`,`meta`,`link`,`style`,`script`,`noscript`]),m=new Set([`title`,`base`,`htmlAttrs`,`bodyAttrs`,`meta`,`link`,`style`,`script`,`noscript`]),h=new Set([`base`,`title`,`titleTemplate`,`bodyAttrs`,`htmlAttrs`,`templateParams`]),g=new Set([`key`,`tagPosition`,`tagPriority`,`tagDuplicateStrategy`,`innerHTML`,`textContent`,`processTemplateParams`]),_=new Set([`templateParams`,`htmlAttrs`,`bodyAttrs`]),v=new Set([`theme-color`,`google-site-verification`,`og`,`article`,`book`,`profile`,`twitter`,`author`]),y=[`name`,`property`,`http-equiv`],b=new Set([`viewport`,`description`,`keywords`,`robots`]);function x(e){let t=e.split(`:`);return t.length?v.has(t[1]):!1}function ee(e){let{props:t,tag:n}=e;if(h.has(n))return n;if(n===`link`&&t.rel===`canonical`)return`canonical`;if(t.charset)return`charset`;if(e.tag===`meta`){for(let r of y)if(t[r]!==void 0){let i=t[r],a=i.includes(`:`),o=b.has(i);return`${n}:${i}${!(a||o)&&e.key?`:key:${e.key}`:``}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(f.has(n)){let t=e.textContent||e.innerHTML;if(t)return`${n}:content:${t}`}}function te(e){return e._h||e._d||e.textContent||e.innerHTML||`${e.tag}:${Object.entries(e.props).map(([e,t])=>`${e}:${String(t)}`).join(`,`)}`}function S(e,t,n){typeof e==`function`&&(!n||n!==`titleTemplate`&&!(n[0]===`o`&&n[1]===`n`))&&(e=e());let r;if(t&&(r=t(n,e)),Array.isArray(r))return r.map(e=>S(e,t));if(r?.constructor===Object){let e={};for(let n of Object.keys(r))e[n]=S(r[n],t,n);return e}return r}function C(e,t){let n=e===`style`?new Map:new Set;function r(t){let r=t.trim();if(r)if(e===`style`){let[e,...t]=r.split(`:`).map(e=>e.trim());e&&t.length&&n.set(e,t.join(`:`))}else r.split(` `).filter(Boolean).forEach(e=>n.add(e))}return typeof t==`string`?e===`style`?t.split(`;`).forEach(r):r(t):Array.isArray(t)?t.forEach(e=>r(e)):t&&typeof t==`object`&&Object.entries(t).forEach(([t,i])=>{i&&i!==`false`&&(e===`style`?n.set(t.trim(),i):r(t))}),n}function ne(e,t){return e.props=e.props||{},t?e.tag===`templateParams`?(e.props=t,e):(Object.entries(t).forEach(([n,r])=>{if(r===null){e.props[n]=null;return}if(n===`class`||n===`style`){e.props[n]=C(n,r);return}if(g.has(n)){if([`textContent`,`innerHTML`].includes(n)&&typeof r==`object`){let i=t.type;if(t.type||(i=`application/json`),!i?.endsWith(`json`)&&i!==`speculationrules`)return;t.type=i,e.props.type=i,e[n]=JSON.stringify(r)}else e[n]=r;return}let i=String(r),a=n.startsWith(`data-`);i===`true`||i===``?e.props[n]=a?i:!0:!r&&a&&i===`false`?e.props[n]=`false`:r!==void 0&&(e.props[n]=r)}),e):e}function w(e,t){let n=ne({tag:e,props:{}},typeof t==`object`&&typeof t!=`function`?t:{[e===`script`||e===`noscript`||e===`style`?`innerHTML`:`textContent`]:t});return n.key&&d.has(n.tag)&&(n.props[`data-hid`]=n._h=n.key),n.tag===`script`&&typeof n.innerHTML==`object`&&(n.innerHTML=JSON.stringify(n.innerHTML),n.props.type=n.props.type||`application/json`),Array.isArray(n.props.content)?n.props.content.map(e=>({...n,props:{...n.props,content:e}})):n}function re(e,t){if(!e)return[];typeof e==`function`&&(e=e());let n=(e,n)=>{for(let r=0;r{if(t!==void 0)for(let n of Array.isArray(t)?t:[t])r.push(w(e,n))}),r.flat()}var ie=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,ae={base:-10,title:10},oe={critical:-8,high:-1,low:2},se={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},ce=/@import/,T=e=>e===``||e===!0;function le(e,t){if(typeof t.tagPriority==`number`)return t.tagPriority;let n=100,r=oe[t.tagPriority]||0,i=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:se;if(t.tag in ae)n=ae[t.tag];else if(t.tag===`meta`){let e=t.props[`http-equiv`]===`content-security-policy`?`content-security-policy`:t.props.charset?`charset`:t.props.name===`viewport`?`viewport`:null;e&&(n=se.meta[e])}else t.tag===`link`&&t.props.rel?n=i.link[t.props.rel]:t.tag===`script`?T(t.props.async)?n=i.script.async:t.props.src&&!T(t.props.defer)&&!T(t.props.async)&&t.props.type!==`module`&&!t.props.type?.endsWith(`json`)?n=i.script.sync:T(t.props.defer)&&t.props.src&&!T(t.props.async)&&(n=i.script.defer):t.tag===`style`&&(n=t.innerHTML&&ce.test(t.innerHTML)?i.style.imported:i.style.sync);return(n||100)+r}function ue(e,t){let n=typeof t==`function`?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function de(e={}){let t=u();t.addHooks(e.hooks||{});let n=!e.document,r=new Map,i=new Map,a=new Set,o={_entryCount:1,plugins:i,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:e=>ue(o,e),push(e,i){let s={...i||{}};delete s.head;let c=s._index??o._entryCount++,l={_i:c,input:e,options:s},u={_poll(e=!1){o.dirty=!0,!e&&a.add(c),t.callHook(`entries:updated`,o)},dispose(){r.delete(c)&&o.invalidate()},patch(e){(!s.mode||s.mode===`server`&&n||s.mode===`client`&&!n)&&(l.input=e,r.set(c,l),u._poll())}};return u.patch(e),u},async resolveTags(){let n={tagMap:new Map,tags:[],entries:[...o.entries.values()]};for(await t.callHook(`entries:resolve`,n);a.size;){let n=a.values().next().value;a.delete(n);let i=r.get(n);if(i){let n={tags:re(i.input,e.propResolvers||[]).map(e=>Object.assign(e,i.options)),entry:i};await t.callHook(`entries:normalize`,n),i._tags=n.tags.map((e,t)=>(e._w=le(o,e),e._p=(i._i<<10)+t,e._d=ee(e),e))}}let i=!1;n.entries.flatMap(e=>(e._tags||[]).map(e=>({...e,props:{...e.props}}))).sort(ie).reduce((e,t)=>{let n=String(t._d||t._p);if(!e.has(n))return e.set(n,t);let r=e.get(n);if((t?.tagDuplicateStrategy||(_.has(t.tag)?`merge`:null)||(t.key&&t.key===r.key?`merge`:null))===`merge`){let i={...r.props};Object.entries(t.props).forEach(([e,t])=>i[e]=e===`style`?new Map([...r.props.style||new Map,...t]):e===`class`?new Set([...r.props.class||new Set,...t]):t),e.set(n,{...t,props:i})}else t._p>>10==r._p>>10&&t.tag===`meta`&&x(n)?(e.set(n,Object.assign([...Array.isArray(r)?r:[r],t],t)),i=!0):(t._w===r._w?t._p>r._p:t?._wue(o,e)),o.hooks.callHook(`init`,o),e.init?.forEach(e=>e&&o.push(e)),o}async function fe(e,t={}){let n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;let r={shouldRender:!0,tags:[]};if(await e.hooks.callHook(`dom:beforeRender`,r),r.shouldRender)return e._domUpdatePromise||=new Promise(async t=>{let r=new Map,i=new Promise(t=>{e.resolveTags().then(e=>{t(e.map(e=>{let t=r.get(e._d)||0,n={tag:e,id:(t?`${e._d}:${t}`:e._d)||te(e),shouldRender:!0};return e._d&&x(e._d)&&r.set(e._d,t+1),n}))})}),a=e._dom;if(!a){a={title:n.title,elMap:new Map().set(`htmlAttrs`,n.documentElement).set(`bodyAttrs`,n.body)};for(let e of[`body`,`head`]){let t=n[e]?.children;for(let e of t){let t=e.tagName.toLowerCase();if(!p.has(t))continue;let n=ne({tag:t,props:{}},{innerHTML:e.innerHTML,...e.getAttributeNames().reduce((t,n)=>(t[n]=e.getAttribute(n),t),{})||{}});if(n.key=e.getAttribute(`data-hid`)||void 0,n._d=ee(n)||te(n),a.elMap.has(n._d)){let t=1,r=n._d;for(;a.elMap.has(r);)r=`${n._d}:${t++}`;a.elMap.set(r,e)}else a.elMap.set(n._d,e)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function o(e,t,n){let r=`${e}:${t}`;a.sideEffects[r]=n,delete a.pendingSideEffects[r]}function s({id:e,$el:t,tag:r}){let i=r.tag.endsWith(`Attrs`);for(let s in a.elMap.set(e,t),i||(r.textContent&&r.textContent!==t.textContent&&(t.textContent=r.textContent),r.innerHTML&&r.innerHTML!==t.innerHTML&&(t.innerHTML=r.innerHTML),o(e,`el`,()=>{t?.remove(),a.elMap.delete(e)})),r.props){if(!Object.prototype.hasOwnProperty.call(r.props,s))continue;let a=r.props[s];if(s.startsWith(`on`)&&typeof a==`function`){let e=t?.dataset;if(e&&e[`${s}fired`]){let e=s.slice(0,-5);a.call(t,new Event(e.substring(2)))}t.getAttribute(`data-${s}`)!==``&&((r.tag===`bodyAttrs`?n.defaultView:t).addEventListener(s.substring(2),a.bind(t)),t.setAttribute(`data-${s}`,``));continue}let c=`attr:${s}`;if(s===`class`){if(!a)continue;for(let n of a)i&&o(e,`${c}:${n}`,()=>t.classList.remove(n)),!t.classList.contains(n)&&t.classList.add(n)}else if(s===`style`){if(!a)continue;for(let[n,r]of a)o(e,`${c}:${n}`,()=>{t.style.removeProperty(n)}),t.style.setProperty(n,r)}else a!==!1&&a!==null&&(t.getAttribute(s)!==a&&t.setAttribute(s,a===!0?``:String(a)),i&&o(e,c,()=>t.removeAttribute(s)))}}let c=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0},u=await i;for(let e of u){let{tag:t,shouldRender:r,id:i}=e;if(r){if(t.tag===`title`){n.title=t.textContent,o(`title`,``,()=>n.title=a.title);continue}e.$el=e.$el||a.elMap.get(i),e.$el?s(e):p.has(t.tag)&&c.push(e)}}for(let e of c){let t=e.tag.tagPosition||`head`;e.$el=n.createElement(e.tag.tag),s(e),l[t]=l[t]||n.createDocumentFragment(),l[t].appendChild(e.$el)}for(let t of u)await e.hooks.callHook(`dom:renderTag`,t,n,o);for(let e in l.head&&n.head.appendChild(l.head),l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild),l.bodyClose&&n.body.appendChild(l.bodyClose),a.pendingSideEffects)a.pendingSideEffects[e]();e._dom=a,await e.hooks.callHook(`dom:rendered`,{renders:u}),t()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1}),e._domUpdatePromise}function pe(e={}){let t=e.domOptions?.render||fe;e.document=e.document||(typeof window<`u`?document:void 0);let n=e.document?.head.querySelector(`script[id="unhead:payload"]`)?.innerHTML||!1;return de({...e,plugins:[...e.plugins||[],{key:`client`,hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function me(e,t){let n=0;return()=>{let r=++n;t(()=>{n===r&&e()})}}function he(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var E={},ge=[],_e=()=>{},ve=()=>!1,ye=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),be=e=>e.startsWith(`onUpdate:`),xe=Object.assign,Se=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},Ce=Object.prototype.hasOwnProperty,we=(e,t)=>Ce.call(e,t),D=Array.isArray,Te=e=>Pe(e)===`[object Map]`,Ee=e=>Pe(e)===`[object Set]`,De=e=>Pe(e)===`[object Date]`,Oe=e=>Pe(e)===`[object RegExp]`,O=e=>typeof e==`function`,ke=e=>typeof e==`string`,Ae=e=>typeof e==`symbol`,je=e=>typeof e==`object`&&!!e,Me=e=>(je(e)||O(e))&&O(e.then)&&O(e.catch),Ne=Object.prototype.toString,Pe=e=>Ne.call(e),Fe=e=>Pe(e).slice(8,-1),Ie=e=>Pe(e)===`[object Object]`,Le=e=>ke(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,Re=he(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ze=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Be=/-\w/g,Ve=ze(e=>e.replace(Be,e=>e.slice(1).toUpperCase())),He=/\B([A-Z])/g,Ue=ze(e=>e.replace(He,`-$1`).toLowerCase()),We=ze(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ge=ze(e=>e?`on${We(e)}`:``),Ke=(e,t)=>!Object.is(e,t),qe=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ye=e=>{let t=parseFloat(e);return isNaN(t)?e:t},Xe=e=>{let t=ke(e)?Number(e):NaN;return isNaN(t)?e:t},Ze,Qe=()=>Ze||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{},$e=he(`Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol`);function et(e){if(D(e)){let t={};for(let n=0;n{if(e){let n=e.split(nt);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function k(e){let t=``;if(ke(e))t=e;else if(D(e))for(let n=0;nut(e,t))}var ft=e=>!!(e&&e.__v_isRef===!0),pt=e=>ke(e)?e:e==null?``:D(e)||je(e)&&(e.toString===Ne||!O(e.toString))?ft(e)?pt(e.value):JSON.stringify(e,mt,2):String(e),mt=(e,t)=>ft(t)?mt(e,t.value):Te(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[ht(t,r)+` =>`]=n,e),{})}:Ee(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>ht(e))}:Ae(t)?ht(t):je(t)&&!D(t)&&!Ie(t)?String(t):t,ht=(e,t=``)=>Ae(e)?`Symbol(${e.description??t})`:e;function gt(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var _t,vt=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=_t,!e&&_t&&(this.index=(_t.scopes||=[]).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0&&(_t=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Dt){let e=Dt;for(Dt=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Et;){let t=Et;for(Et=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function jt(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Mt(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ft(r),It(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Nt(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Pt(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Pt(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Wt)||(e.globalVersion=Wt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Nt(e))))return;e.flags|=2;let t=e.dep,n=St,r=zt;St=e,zt=!0;try{jt(e);let n=e.fn(e._value);(t.version===0||Ke(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{St=n,zt=r,Mt(e),e.flags&=-3}}function Ft(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ft(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function It(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function Lt(e,t){e.effect instanceof wt&&(e=e.effect.fn);let n=new wt(e);t&&xe(n,t);try{n.run()}catch(e){throw n.stop(),e}let r=n.run.bind(n);return r.effect=n,r}function Rt(e){e.effect.stop()}var zt=!0,Bt=[];function Vt(){Bt.push(zt),zt=!1}function Ht(){let e=Bt.pop();zt=e===void 0?!0:e}function Ut(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=St;St=void 0;try{t()}finally{St=e}}}var Wt=0,Gt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Kt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!St||!zt||St===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==St)t=this.activeLink=new Gt(St,this),St.deps?(t.prevDep=St.depsTail,St.depsTail.nextDep=t,St.depsTail=t):St.deps=St.depsTail=t,qt(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=St.depsTail,t.nextDep=void 0,St.depsTail.nextDep=t,St.depsTail=t,St.deps===t&&(St.deps=e)}return t}trigger(e){this.version++,Wt++,this.notify(e)}notify(e){kt();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{At()}}};function qt(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)qt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Jt=new WeakMap,Yt=Symbol(``),Xt=Symbol(``),Zt=Symbol(``);function Qt(e,t,n){if(zt&&St){let t=Jt.get(e);t||Jt.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Kt),r.map=t,r.key=n),r.track()}}function $t(e,t,n,r,i,a){let o=Jt.get(e);if(!o){Wt++;return}let s=e=>{e&&e.trigger()};if(kt(),t===`clear`)o.forEach(s);else{let i=D(e),a=i&&Le(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===Zt||!Ae(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(Zt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Yt)),Te(e)&&s(o.get(Xt)));break;case`delete`:i||(s(o.get(Yt)),Te(e)&&s(o.get(Xt)));break;case`set`:Te(e)&&s(o.get(Yt));break}}At()}function en(e,t){let n=Jt.get(e);return n&&n.get(t)}function tn(e){let t=A(e);return t===e?t:(Qt(t,`iterate`,Zt),Gn(e)?t:t.map(Jn))}function nn(e){return Qt(e=A(e),`iterate`,Zt),e}function rn(e,t){return Wn(e)?Un(e)?Yn(Jn(t)):Yn(t):Jn(t)}var an={__proto__:null,[Symbol.iterator](){return on(this,Symbol.iterator,e=>rn(this,e))},concat(...e){return tn(this).concat(...e.map(e=>D(e)?tn(e):e))},entries(){return on(this,`entries`,e=>(e[1]=rn(this,e[1]),e))},every(e,t){return cn(this,`every`,e,t,void 0,arguments)},filter(e,t){return cn(this,`filter`,e,t,e=>e.map(e=>rn(this,e)),arguments)},find(e,t){return cn(this,`find`,e,t,e=>rn(this,e),arguments)},findIndex(e,t){return cn(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return cn(this,`findLast`,e,t,e=>rn(this,e),arguments)},findLastIndex(e,t){return cn(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return cn(this,`forEach`,e,t,void 0,arguments)},includes(...e){return un(this,`includes`,e)},indexOf(...e){return un(this,`indexOf`,e)},join(e){return tn(this).join(e)},lastIndexOf(...e){return un(this,`lastIndexOf`,e)},map(e,t){return cn(this,`map`,e,t,void 0,arguments)},pop(){return dn(this,`pop`)},push(...e){return dn(this,`push`,e)},reduce(e,...t){return ln(this,`reduce`,e,t)},reduceRight(e,...t){return ln(this,`reduceRight`,e,t)},shift(){return dn(this,`shift`)},some(e,t){return cn(this,`some`,e,t,void 0,arguments)},splice(...e){return dn(this,`splice`,e)},toReversed(){return tn(this).toReversed()},toSorted(e){return tn(this).toSorted(e)},toSpliced(...e){return tn(this).toSpliced(...e)},unshift(...e){return dn(this,`unshift`,e)},values(){return on(this,`values`,e=>rn(this,e))}};function on(e,t,n){let r=nn(e),i=r[t]();return r!==e&&!Gn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var sn=Array.prototype;function cn(e,t,n,r,i,a){let o=nn(e),s=o!==e&&!Gn(e),c=o[t];if(c!==sn[t]){let t=c.apply(e,a);return s?Jn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,rn(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ln(e,t,n,r){let i=nn(e),a=n;return i!==e&&(Gn(e)?n.length>3&&(a=function(t,r,i){return n.call(this,t,r,i,e)}):a=function(t,r,i){return n.call(this,t,rn(e,r),i,e)}),i[t](a,...r)}function un(e,t,n){let r=A(e);Qt(r,`iterate`,Zt);let i=r[t](...n);return(i===-1||i===!1)&&Kn(n[0])?(n[0]=A(n[0]),r[t](...n)):i}function dn(e,t,n=[]){Vt(),kt();let r=A(e)[t].apply(e,n);return At(),Ht(),r}var fn=he(`__proto__,__v_isRef,__isVue`),pn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(Ae));function mn(e){Ae(e)||(e=String(e));let t=A(this);return Qt(t,`has`,e),t.hasOwnProperty(e)}var hn=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Fn:Pn:i?Nn:Mn).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=D(e);if(!r){let e;if(a&&(e=an[t]))return e;if(t===`hasOwnProperty`)return mn}let o=Reflect.get(e,t,Xn(e)?e:n);if((Ae(t)?pn.has(t):fn(t))||(r||Qt(e,`get`,t),i))return o;if(Xn(o)){let e=a&&Le(t)?o:o.value;return r&&je(e)?Bn(e):e}return je(o)?r?Bn(o):Rn(o):o}},gn=class extends hn{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=D(e)&&Le(t);if(!this._isShallow){let e=Wn(i);if(!Gn(n)&&!Wn(n)&&(i=A(i),n=A(n)),!a&&Xn(i)&&!Xn(n))return e||(i.value=n),!0}let o=a?Number(t)e,Cn=e=>Reflect.getPrototypeOf(e);function wn(e,t,n){return function(...r){let i=this.__v_raw,a=A(i),o=Te(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Sn:t?Yn:Jn;return!t&&Qt(a,`iterate`,c?Xt:Yt),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function Tn(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function En(e,t){let n={get(n){let r=this.__v_raw,i=A(r),a=A(n);e||(Ke(n,a)&&Qt(i,`get`,n),Qt(i,`get`,a));let{has:o}=Cn(i),s=t?Sn:e?Yn:Jn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&Qt(A(t),`iterate`,Yt),t.size},has(t){let n=this.__v_raw,r=A(n),i=A(t);return e||(Ke(t,i)&&Qt(r,`has`,t),Qt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=A(a),s=t?Sn:e?Yn:Jn;return!e&&Qt(o,`iterate`,Yt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return xe(n,e?{add:Tn(`add`),set:Tn(`set`),delete:Tn(`delete`),clear:Tn(`clear`)}:{add(e){!t&&!Gn(e)&&!Wn(e)&&(e=A(e));let n=A(this);return Cn(n).has.call(n,e)||(n.add(e),$t(n,`add`,e,e)),this},set(e,n){!t&&!Gn(n)&&!Wn(n)&&(n=A(n));let r=A(this),{has:i,get:a}=Cn(r),o=i.call(r,e);o||=(e=A(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?Ke(n,s)&&$t(r,`set`,e,n,s):$t(r,`add`,e,n),this},delete(e){let t=A(this),{has:n,get:r}=Cn(t),i=n.call(t,e);i||=(e=A(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&$t(t,`delete`,e,void 0,a),o},clear(){let e=A(this),t=e.size!==0,n=e.clear();return t&&$t(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=wn(r,e,t)}),n}function Dn(e,t){let n=En(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(we(n,r)&&r in t?n:t,r,i)}var On={get:Dn(!1,!1)},kn={get:Dn(!1,!0)},An={get:Dn(!0,!1)},jn={get:Dn(!0,!0)},Mn=new WeakMap,Nn=new WeakMap,Pn=new WeakMap,Fn=new WeakMap;function In(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Ln(e){return e.__v_skip||!Object.isExtensible(e)?0:In(Fe(e))}function Rn(e){return Wn(e)?e:Hn(e,!1,vn,On,Mn)}function zn(e){return Hn(e,!1,bn,kn,Nn)}function Bn(e){return Hn(e,!0,yn,An,Pn)}function Vn(e){return Hn(e,!0,xn,jn,Fn)}function Hn(e,t,n,r,i){if(!je(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let a=Ln(e);if(a===0)return e;let o=i.get(e);if(o)return o;let s=new Proxy(e,a===2?r:n);return i.set(e,s),s}function Un(e){return Wn(e)?Un(e.__v_raw):!!(e&&e.__v_isReactive)}function Wn(e){return!!(e&&e.__v_isReadonly)}function Gn(e){return!!(e&&e.__v_isShallow)}function Kn(e){return e?!!e.__v_raw:!1}function A(e){let t=e&&e.__v_raw;return t?A(t):e}function qn(e){return!we(e,`__v_skip`)&&Object.isExtensible(e)&&Je(e,`__v_skip`,!0),e}var Jn=e=>je(e)?Rn(e):e,Yn=e=>je(e)?Bn(e):e;function Xn(e){return e?e.__v_isRef===!0:!1}function j(e){return Qn(e,!1)}function Zn(e){return Qn(e,!0)}function Qn(e,t){return Xn(e)?e:new $n(e,t)}var $n=class{constructor(e,t){this.dep=new Kt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:A(e),this._value=t?e:Jn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Gn(e)||Wn(e);e=n?e:A(e),Ke(e,t)&&(this._rawValue=e,this._value=n?e:Jn(e),this.dep.trigger())}};function er(e){e.dep&&e.dep.trigger()}function M(e){return Xn(e)?e.value:e}function N(e){return O(e)?e():M(e)}var tr={get:(e,t,n)=>t===`__v_raw`?e:M(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return Xn(i)&&!Xn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function nr(e){return Un(e)?e:new Proxy(e,tr)}var rr=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Kt,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function ir(e){return new rr(e)}function ar(e){let t=D(e)?Array(e.length):{};for(let n in e)t[n]=lr(e,n);return t}var or=class{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._raw=A(e);let r=!0,i=e;if(!D(e)||!Le(String(t)))do r=!Kn(i)||Gn(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=M(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Xn(this._raw[this._key])){let t=this._object[this._key];if(Xn(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return en(this._raw,this._key)}},sr=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function cr(e,t,n){return Xn(e)?e:O(e)?new sr(e):je(e)&&arguments.length>1?lr(e,t,n):j(e)}function lr(e,t,n){return new or(e,t,n)}var ur=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Kt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Wt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&St!==this)return Ot(this,!0),!0}get value(){let e=this.dep.track();return Pt(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function dr(e,t,n=!1){let r,i;return O(e)?r=e:(r=e.get,i=e.set),new ur(r,i,n)}var fr={GET:`get`,HAS:`has`,ITERATE:`iterate`},pr={SET:`set`,ADD:`add`,DELETE:`delete`,CLEAR:`clear`},mr={},hr=new WeakMap,gr=void 0;function _r(){return gr}function vr(e,t=!1,n=gr){if(n){let t=hr.get(n);t||hr.set(n,t=[]),t.push(e)}}function yr(e,t,n=E){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:Gn(e)||i===!1||i===0?br(e,1):br(e),u,d,f,p,m=!1,h=!1;if(Xn(e)?(d=()=>e.value,m=Gn(e)):Un(e)?(d=()=>l(e),m=!0):D(e)?(h=!0,m=e.some(e=>Un(e)||Gn(e)),d=()=>e.map(e=>{if(Xn(e))return e.value;if(Un(e))return l(e);if(O(e))return c?c(e,2):e()})):d=O(e)?t?c?()=>c(e,2):e:()=>{if(f){Vt();try{f()}finally{Ht()}}let t=gr;gr=u;try{return c?c(e,3,[p]):e(p)}finally{gr=t}}:_e,t&&i){let e=d,t=i===!0?1/0:i;d=()=>br(e(),t)}let g=bt(),_=()=>{u.stop(),g&&g.active&&Se(g.effects,u)};if(a&&t){let e=t;t=(...t)=>{e(...t),_()}}let v=h?Array(e.length).fill(mr):mr,y=e=>{if(!(!(u.flags&1)||!u.dirty&&!e))if(t){let e=u.run();if(i||m||(h?e.some((e,t)=>Ke(e,v[t])):Ke(e,v))){f&&f();let n=gr;gr=u;try{let n=[e,v===mr?void 0:h&&v[0]===mr?[]:v,p];v=e,c?c(t,3,n):t(...n)}finally{gr=n}}}else u.run()};return s&&s(y),u=new wt(d),u.scheduler=o?()=>o(y,!1):y,p=e=>vr(e,!1,u),f=u.onStop=()=>{let e=hr.get(u);if(e){if(c)c(e,4);else for(let t of e)t();hr.delete(u)}},t?r?y(!0):v=u.run():o?o(y.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function br(e,t=1/0,n){if(t<=0||!je(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Xn(e))br(e.value,t,n);else if(D(e))for(let r=0;r{br(e,t,n)});else if(Ie(e)){for(let r in e)br(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&br(e[r],t,n)}return e}var xr=[];function Sr(e){xr.push(e)}function Cr(){xr.pop()}function wr(e,t){}var Tr={SETUP_FUNCTION:0,0:`SETUP_FUNCTION`,RENDER_FUNCTION:1,1:`RENDER_FUNCTION`,NATIVE_EVENT_HANDLER:5,5:`NATIVE_EVENT_HANDLER`,COMPONENT_EVENT_HANDLER:6,6:`COMPONENT_EVENT_HANDLER`,VNODE_HOOK:7,7:`VNODE_HOOK`,DIRECTIVE_HOOK:8,8:`DIRECTIVE_HOOK`,TRANSITION_HOOK:9,9:`TRANSITION_HOOK`,APP_ERROR_HANDLER:10,10:`APP_ERROR_HANDLER`,APP_WARN_HANDLER:11,11:`APP_WARN_HANDLER`,FUNCTION_REF:12,12:`FUNCTION_REF`,ASYNC_COMPONENT_LOADER:13,13:`ASYNC_COMPONENT_LOADER`,SCHEDULER:14,14:`SCHEDULER`,COMPONENT_UPDATE:15,15:`COMPONENT_UPDATE`,APP_UNMOUNT_CLEANUP:16,16:`APP_UNMOUNT_CLEANUP`},Er={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function Dr(e,t,n,r){try{return r?e(...r):e()}catch(e){kr(e,t,n)}}function Or(e,t,n,r){if(O(e)){let i=Dr(e,t,n,r);return i&&Me(i)&&i.catch(e=>{kr(e,t,n)}),i}if(D(e)){let i=[];for(let a=0;a>>1,i=jr[r],a=Gr(i);a=Gr(n)?jr.push(e):jr.splice(zr(t),0,e),e.flags|=1,Vr()}}function Vr(){Lr||=Ir.then(Kr)}function Hr(e){D(e)?Nr.push(...e):Pr&&e.id===-1?Pr.splice(Fr+1,0,e):e.flags&1||(Nr.push(e),e.flags|=1),Vr()}function Ur(e,t,n=Mr+1){for(;nGr(e)-Gr(t));if(Nr.length=0,Pr){Pr.push(...e);return}for(Pr=e,Fr=0;Fre.id==null?e.flags&2?-1:1/0:e.id;function Kr(e){try{for(Mr=0;Mrqr.emit(e,...t)),Jr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{Yr(e,t)}),setTimeout(()=>{qr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Jr=[])},3e3)):Jr=[]}var Xr=null,Zr=null;function Qr(e){let t=Xr;return Xr=e,Zr=e&&e.type.__scopeId||null,t}function $r(e){Zr=e}function ei(){Zr=null}var ti=e=>P;function P(e,t=Xr,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&Us(-1);let i=Qr(t),a;try{a=e(...n)}finally{Qr(i),r._d&&Us(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function ni(e,t){if(Xr===null)return e;let n=Ec(Xr),r=e.dirs||=[];for(let e=0;ee.__isTeleport,oi=e=>e&&(e.disabled||e.disabled===``),si=e=>e&&(e.defer||e.defer===``),ci=e=>typeof SVGElement<`u`&&e instanceof SVGElement,li=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,ui=(e,t)=>{let n=e&&e.to;return ke(n)?t?t(n):null:n},di={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g}}=l,_=oi(t.props),{shapeFlag:v,children:y,dynamicChildren:b}=t;if(e==null){let e=t.el=h(``),l=t.anchor=h(``);p(e,n,r),p(l,n,r);let d=(e,t)=>{v&16&&u(y,e,t,i,a,o,s,c)},f=()=>{let e=t.target=ui(t.props,m),n=gi(e,t,h,p);e&&(o!==`svg`&&ci(e)?o=`svg`:o!==`mathml`&&li(e)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(e),_||(d(e,n),hi(t,!1)))};_&&(d(n,l),hi(t,!0)),si(t.props)?(t.el.__isMounted=!1,fs(()=>{f(),delete t.el.__isMounted},a)):f()}else{if(si(t.props)&&e.el.__isMounted===!1){fs(()=>{di.process(e,t,n,r,i,a,o,s,c,l)},a);return}t.el=e.el,t.targetStart=e.targetStart;let u=t.anchor=e.anchor,p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=oi(e.props),v=g?n:p,y=g?u:h;if(o===`svg`||ci(p)?o=`svg`:(o===`mathml`||li(p))&&(o=`mathml`),b?(f(e.dynamicChildren,b,v,i,a,o,s),ys(e,t,!0)):c||d(e,t,v,y,i,a,o,s,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fi(t,n,u,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=ui(t.props,m);e&&fi(t,e,null,l,0)}else g&&fi(t,p,h,l,1);hi(t,_)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e;if(d&&(i(l),i(u)),a&&i(c),o&16){let e=a||!oi(f);for(let i=0;i{e.isMounted=!0}),ba(()=>{e.isUnmounting=!0}),e}var bi=[Function,Array],xi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:bi,onEnter:bi,onAfterEnter:bi,onEnterCancelled:bi,onBeforeLeave:bi,onLeave:bi,onAfterLeave:bi,onLeaveCancelled:bi,onBeforeAppear:bi,onAppear:bi,onAfterAppear:bi,onAppearCancelled:bi},Si=e=>{let t=e.subTree;return t.component?Si(t.component):t},Ci={name:`BaseTransition`,props:xi,setup(e,{slots:t}){let n=lc(),r=yi();return()=>{let i=t.default&&ji(t.default(),!0);if(!i||!i.length)return;let a=wi(i),o=A(e),{mode:s}=o;if(r.isLeaving)return Oi(a);let c=ki(a);if(!c)return Oi(a);let l=Di(c,o,r,n,e=>l=e);c.type!==Ls&&Ai(c,l);let u=n.subTree&&ki(n.subTree);if(u&&u.type!==Ls&&!Ks(u,c)&&Si(n).type!==Ls){let e=Di(u,o,r,n);if(Ai(u,e),s===`out-in`&&c.type!==Ls)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Oi(a);s===`in-out`&&c.type!==Ls?e.delayLeave=(e,t,n)=>{let i=Ei(r,u);i[String(u.key)]=u,e[_i]=()=>{t(),e[_i]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function wi(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Ls){t=n;break}}return t}var Ti=Ci;function Ei(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Di(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),x=Ei(n,e),ee=(e,t)=>{e&&Or(e,r,9,t)},te=(e,t)=>{let n=t[1];ee(e,t),D(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},S={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[_i]&&t[_i](!0);let i=x[b];i&&Ks(e,i)&&i.el[_i]&&i.el[_i](),ee(r,[t])},enter(e){let t=l,r=u,i=d;if(!n.isMounted)if(a)t=_||l,r=v||u,i=y||d;else return;let o=!1,s=e[vi]=t=>{o||(o=!0,ee(t?i:r,[e]),S.delayedLeave&&S.delayedLeave(),e[vi]=void 0)};t?te(t,[e,s]):s()},leave(t,r){let i=String(e.key);if(t[vi]&&t[vi](!0),n.isUnmounting)return r();ee(f,[t]);let a=!1,o=t[_i]=n=>{a||(a=!0,r(),ee(n?h:m,[t]),t[_i]=void 0,x[i]===e&&delete x[i])};x[i]=e,p?te(p,[t,o]):o()},clone(e){let a=Di(e,t,n,r,i);return i&&i(a),a}};return S}function Oi(e){if(aa(e))return e=Qs(e),e.children=null,e}function ki(e){if(!aa(e))return ai(e.type)&&e.children?wi(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&O(n.default))return n.default()}}function Ai(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ai(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ji(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;exe({name:e.name},t,{setup:e}))():e}function Mi(){let e=lc();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+ e.ids[1]++:``}function Ni(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function Pi(e){let t=lc(),n=Zn(null);if(t){let r=t.refs===E?t.refs={}:t.refs;Object.defineProperty(r,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}return n}var Fi=new WeakMap;function Ii(e,t,n,r,i=!1){if(D(e)){e.forEach((e,a)=>Ii(e,t&&(D(t)?t[a]:t),n,r,i));return}if(na(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Ii(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?Ec(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,u=s.refs===E?s.refs={}:s.refs,d=s.setupState,f=A(d),p=d===E?ve:e=>we(f,e),m=e=>!0;if(l!=null&&l!==c){if(Li(t),ke(l))u[l]=null,p(l)&&(d[l]=null);else if(Xn(l)){m(l)&&(l.value=null);let e=t;e.k&&(u[e.k]=null)}}if(O(c))Dr(c,s,12,[o,u]);else{let t=ke(c),r=Xn(c);if(t||r){let s=()=>{if(e.f){let n=t?p(c)?d[c]:u[c]:m(c)||!e.k?c.value:u[e.k];if(i)D(n)&&Se(n,a);else if(D(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],p(c)&&(d[c]=u[c]);else{let t=[a];m(c)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,p(c)&&(d[c]=o)):r&&(m(c)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){let t=()=>{s(),Fi.delete(e)};t.id=-1,Fi.set(e,t),fs(t,n)}else Li(e),s()}}}function Li(e){let t=Fi.get(e);t&&(t.flags|=8,Fi.delete(e))}var Ri=!1,zi=()=>{Ri||=(console.error(`Hydration completed but contains mismatches.`),!0)},Bi=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,Vi=e=>e.namespaceURI.includes(`MathML`),Hi=e=>{if(e.nodeType===1){if(Bi(e))return`svg`;if(Vi(e))return`mathml`}},Ui=e=>e.nodeType===8;function Wi(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:a,parentNode:o,remove:s,insert:c,createComment:l}}=e,u=(e,t)=>{if(!t.hasChildNodes()){n(null,e,t),Wr(),t._vnode=e;return}d(t.firstChild,e,null,null,null),Wr(),t._vnode=e},d=(n,r,s,l,u,y=!1)=>{y||=!!r.dynamicChildren;let b=Ui(n)&&n.data===`[`,x=()=>h(n,r,s,l,u,b),{type:ee,ref:te,shapeFlag:S,patchFlag:C}=r,ne=n.nodeType;r.el=n,C===-2&&(y=!1,r.dynamicChildren=null);let w=null;switch(ee){case Is:ne===3?(n.data!==r.children&&(zi(),n.data=r.children),w=a(n)):r.children===``?(c(r.el=i(``),o(n),n),w=n):w=x();break;case Ls:v(n)?(w=a(n),_(r.el=n.content.firstChild,n,s)):w=ne!==8||b?x():a(n);break;case Rs:if(b&&(n=a(n),ne=n.nodeType),ne===1||ne===3){w=n;let e=!r.children.length;for(let t=0;t{o||=!!t.dynamicChildren;let{type:c,props:l,patchFlag:u,shapeFlag:d,dirs:f,transition:m}=t,h=c===`input`||c===`option`;if(h||u!==-1){f&&ri(t,null,n,`created`);let c=!1;if(v(e)){c=vs(null,m)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(c){let e=r.getAttribute(`class`);e&&(r.$cls=e),m.beforeEnter(r)}_(r,e,n),t.el=e=r}if(d&16&&!(l&&(l.innerHTML||l.textContent))){let r=p(e.firstChild,t,e,n,i,a,o);for(;r;){qi(e,1)||zi();let t=r;r=r.nextSibling,s(t)}}else if(d&8){let n=t.children;n[0]===` +`&&(e.tagName===`PRE`||e.tagName===`TEXTAREA`)&&(n=n.slice(1));let{textContent:r}=e;r!==n&&r!==n.replace(/\r\n|\r/g,` +`)&&(qi(e,0)||zi(),e.textContent=t.children)}if(l){if(h||!o||u&48){let t=e.tagName.includes(`-`);for(let i in l)(h&&(i.endsWith(`value`)||i===`indeterminate`)||ye(i)&&!Re(i)||i[0]===`.`||t)&&r(e,i,null,l[i],void 0,n)}else if(l.onClick)r(e,`onClick`,null,l.onClick,void 0,n);else if(u&4&&Un(l.style))for(let e in l.style)l.style[e]}let g;(g=l&&l.onVnodeBeforeMount)&&ic(g,n,t),f&&ri(t,null,n,`beforeMount`),((g=l&&l.onVnodeMounted)||f||c)&&Ns(()=>{g&&ic(g,n,t),c&&m.enter(e),f&&ri(t,null,n,`mounted`)},i)}return e.nextSibling},p=(e,t,r,o,s,l,u)=>{u||=!!t.dynamicChildren;let f=t.children,p=f.length;for(let t=0;t{let{slotScopeIds:u}=t;u&&(i=i?i.concat(u):u);let d=o(e),f=p(a(e),t,d,n,r,i,s);return f&&Ui(f)&&f.data===`]`?a(t.anchor=f):(zi(),c(t.anchor=l(`]`),d,f),f)},h=(e,t,r,i,c,l)=>{if(qi(e.parentElement,1)||zi(),t.el=null,l){let t=g(e);for(;;){let n=a(e);if(n&&n!==t)s(n);else break}}let u=a(e),d=o(e);return s(e),n(null,t,d,u,r,i,Hi(d),c),r&&(r.vnode.el=t.el,qo(r,t.el)),u},g=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&Ui(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},_=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},v=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[u,d]}var Gi=`data-allow-mismatch`,Ki={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function qi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Gi);)e=e.parentElement;let n=e&&e.getAttribute(Gi);if(n==null)return!1;if(n===``)return!0;{let e=n.split(`,`);return t===0&&e.includes(`children`)?!0:e.includes(Ki[t])}}var Ji=Qe().requestIdleCallback||(e=>setTimeout(e,1)),Yi=Qe().cancelIdleCallback||(e=>clearTimeout(e)),Xi=(e=1e4)=>t=>{let n=Ji(t,{timeout:e});return()=>Yi(n)};function Zi(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t0&&r0&&n0&&i(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(Zi(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},$i=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},ea=(e=[])=>(t,n)=>{ke(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function ta(e,t){if(Ui(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Ui(r))if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++;r=r.nextSibling}}else t(e)}var na=e=>!!e.type.__asyncLoader;function ra(e){O(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return F({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=!1;(t.bu||=[]).push(()=>r=!0);let i=()=>{r||n()},o=a?()=>{let n=a(i,t=>ta(e,t));n&&(t.bum||=[]).push(n)}:i;u?o():p().then(()=>!t.isUnmounted&&o())},get __asyncResolved(){return u},setup(){let e=cc;if(Ni(e),u)return()=>ia(u,e);let t=t=>{l=null,kr(t,e,13,!r)};if(s&&e.suspense||hc)return p().then(t=>()=>ia(t,e)).catch(e=>(t(e),()=>r?U(r,{error:e}):null));let a=j(!1),c=j(),d=j(!!i);return i&&setTimeout(()=>{d.value=!1},i),o!=null&&setTimeout(()=>{if(!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o),p().then(()=>{a.value=!0,e.parent&&aa(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),c.value=e}),()=>{if(a.value&&u)return ia(u,e);if(c.value&&r)return U(r,{error:c.value});if(n&&!d.value)return ia(n,e)}}})}function ia(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=U(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var aa=e=>e.type.__isKeepAlive,oa={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=lc(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),fs(()=>{a.isDeactivated=!1,a.a&&qe(a.a);let t=e.props&&e.props.onVnodeMounted;t&&ic(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Ss(t.m),Ss(t.a),l(e,f,null,1,s),fs(()=>{t.da&&qe(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&ic(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){fa(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=Dc(t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!Ks(t,o))?p(t):o&&fa(o),i.delete(e),a.delete(e)}L(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>sa(e,t)),t&&m(e=>!sa(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Cs(n.subTree.type)?fs(()=>{i.set(g,pa(n.subTree))},n.subTree.suspense):i.set(g,pa(n.subTree)))};return _a(_),ya(_),ba(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=pa(t);if(e.type===i.type&&e.key===i.key){fa(i);let e=i.component.da;e&&fs(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!Gs(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=pa(r);if(s.type===Ls)return o=null,s;let c=s.type,l=Dc(na(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!sa(u,l))||d&&l&&sa(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Qs(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&Ai(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Cs(r.type)?r:s}}};function sa(e,t){return D(e)?e.some(e=>sa(e,t)):ke(e)?e.split(`,`).includes(t):Oe(e)?(e.lastIndex=0,e.test(t)):!1}function ca(e,t){ua(e,`a`,t)}function la(e,t){ua(e,`da`,t)}function ua(e,t,n=cc){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(ma(t,r,n),n){let e=n.parent;for(;e&&e.parent;)aa(e.parent.vnode)&&da(r,t,n,e),e=e.parent}}function da(e,t,n,r){let i=ma(t,e,r,!0);xa(()=>{Se(r[t],i)},n)}function fa(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function pa(e){return e.shapeFlag&128?e.ssContent:e}function ma(e,t,n=cc,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Vt();let i=fc(n),a=Or(t,n,e,r);return i(),Ht(),a};return r?i.unshift(a):i.push(a),a}}var ha=e=>(t,n=cc)=>{(!hc||e===`sp`)&&ma(e,(...e)=>t(...e),n)},ga=ha(`bm`),_a=ha(`m`),va=ha(`bu`),ya=ha(`u`),ba=ha(`bum`),xa=ha(`um`),Sa=ha(`sp`),Ca=ha(`rtg`),wa=ha(`rtc`);function Ta(e,t=cc){ma(`ec`,e,t)}var Ea=`components`,Da=`directives`;function Oa(e,t){return Ma(Ea,e,!0,t)||e}var ka=Symbol.for(`v-ndc`);function Aa(e){return ke(e)?Ma(Ea,e,!1)||e:e||ka}function ja(e){return Ma(Da,e)}function Ma(e,t,n=!0,r=!1){let i=Xr||cc;if(i){let n=i.type;if(e===Ea){let e=Dc(n,!1);if(e&&(e===t||e===Ve(t)||e===We(Ve(t))))return n}let a=Na(i[e]||n[e],t)||Na(i.appContext[e],t);return!a&&r?n:a}}function Na(e,t){return e&&(e[t]||e[Ve(t)]||e[We(Ve(t))])}function Pa(e,t,n,r){let i,a=n&&n[r],o=D(e);if(o||ke(e)){let n=o&&Un(e),r=!1,s=!1;n&&(r=!Gn(e),s=Wn(e),e=nn(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function I(e,t,n={},r,i){if(Xr.ce||Xr.parent&&na(Xr.parent)&&Xr.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),z(),V(R,null,[U(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),z();let o=a&&Ia(a(n)),s=n.key||o&&o.key,c=V(R,{key:(s&&!Ae(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function Ia(e){return e.some(e=>Gs(e)?!(e.type===Ls||e.type===R&&!Ia(e.children)):!0)?e:null}function La(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:Ge(r)]=e[r];return n}var Ra=e=>e?mc(e)?Ec(e):Ra(e.parent):null,za=xe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ra(e.parent),$root:e=>Ra(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>lo(e),$forceUpdate:e=>e.f||=()=>{Br(e.update)},$nextTick:e=>e.n||=Rr.bind(e.proxy),$watch:e=>No.bind(e)}),Ba=(e,t)=>e!==E&&!e.__isScriptSetup&&we(e,t),Va={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(Ba(r,t))return o[t]=1,r[t];else if(i!==E&&we(i,t))return o[t]=2,i[t];else if(we(a,t))return o[t]=3,a[t];else if(n!==E&&we(n,t))return o[t]=4,n[t];else io&&(o[t]=0)}let l=za[t],u,d;if(l)return t===`$attrs`&&Qt(e.attrs,`get`,``),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==E&&we(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,we(d,t))return d[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return Ba(i,t)?(i[t]=n,!0):r!==E&&we(r,t)?(r[t]=n,!0):we(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==E&&s[0]!==`$`&&we(e,s)||Ba(t,s)||we(a,s)||we(r,s)||we(za,s)||we(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?we(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},Ha=xe({},Va,{get(e,t){if(t!==Symbol.unscopables)return Va.get(e,t,e)},has(e,t){return t[0]!==`_`&&!$e(t)}});function Ua(){return null}function Wa(){return null}function Ga(e){}function Ka(e){}function qa(){return null}function Ja(){}function Ya(e,t){return null}function Xa(){return Qa(`useSlots`).slots}function Za(){return Qa(`useAttrs`).attrs}function Qa(e){let t=lc();return t.setupContext||=Tc(t)}function $a(e){return D(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function eo(e,t){let n=$a(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?D(r)||O(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function to(e,t){return!e||!t?e||t:D(e)&&D(t)?e.concat(t):xe({},$a(e),$a(t))}function no(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function ro(e){let t=lc(),n=e();return pc(),Me(n)&&(n=n.catch(e=>{throw fc(t),e})),[n,()=>fc(t)]}var io=!0;function ao(e){let t=lo(e),n=e.proxy,r=e.ctx;io=!1,t.beforeCreate&&so(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:_,beforeUnmount:v,destroyed:y,unmounted:b,render:x,renderTracked:ee,renderTriggered:te,errorCaptured:S,serverPrefetch:C,expose:ne,inheritAttrs:w,components:re,directives:ie,filters:ae}=t;if(l&&oo(l,r,null),o)for(let e in o){let t=o[e];O(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);je(t)&&(e.data=Rn(t))}if(io=!0,a)for(let e in a){let t=a[e],i=K({get:O(t)?t.bind(n,n):O(t.get)?t.get.bind(n,n):_e,set:!O(t)&&O(t.set)?t.set.bind(n):_e});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)co(s[e],r,n,e);if(c){let e=O(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{wo(t,e[t])})}u&&so(u,e,`c`);function oe(e,t){D(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(oe(ga,d),oe(_a,f),oe(va,p),oe(ya,m),oe(ca,h),oe(la,g),oe(Ta,S),oe(wa,ee),oe(Ca,te),oe(ba,v),oe(xa,b),oe(Sa,C),D(ne))if(ne.length){let t=e.exposed||={};ne.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};x&&e.render===_e&&(e.render=x),w!=null&&(e.inheritAttrs=w),re&&(e.components=re),ie&&(e.directives=ie),C&&Ni(e)}function oo(e,t,n=_e){for(let n in D(e)&&(e=ho(e)),e){let r=e[n],i;i=je(r)?`default`in r?To(r.from||n,r.default,!0):To(r.from||n):To(r),Xn(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function so(e,t,n){Or(D(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function co(e,t,n,r){let i=r.includes(`.`)?Po(n,r):()=>n[r];if(ke(e)){let n=t[e];O(n)&&L(i,n)}else if(O(e))L(i,e.bind(n));else if(je(e))if(D(e))e.forEach(e=>co(e,t,n,r));else{let r=O(e.handler)?e.handler.bind(n):t[e.handler];O(r)&&L(i,r,e)}}function lo(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>uo(c,e,o,!0)),uo(c,t,o)),je(t)&&a.set(t,c),c}function uo(e,t,n,r=!1){let{mixins:i,extends:a}=t;for(let o in a&&uo(e,a,n,!0),i&&i.forEach(t=>uo(e,t,n,!0)),t)if(!(r&&o===`expose`)){let r=fo[o]||n&&n[o];e[o]=r?r(e[o],t[o]):t[o]}return e}var fo={data:po,props:vo,emits:vo,methods:_o,computed:_o,beforeCreate:go,created:go,beforeMount:go,mounted:go,beforeUpdate:go,updated:go,beforeDestroy:go,beforeUnmount:go,destroyed:go,unmounted:go,activated:go,deactivated:go,errorCaptured:go,serverPrefetch:go,components:_o,directives:_o,watch:yo,provide:po,inject:mo};function po(e,t){return t?e?function(){return xe(O(e)?e.call(this,this):e,O(t)?t.call(this,this):t)}:t:e}function mo(e,t){return _o(ho(e),ho(t))}function ho(e){if(D(e)){let t={};for(let n=0;n1)return n&&O(t)?t.call(r&&r.proxy):t}}function Eo(){return!!(lc()||Co)}var Do=Symbol.for(`v-scx`),Oo=()=>To(Do);function ko(e,t){return Mo(e,null,t)}function Ao(e,t){return Mo(e,null,{flush:`post`})}function jo(e,t){return Mo(e,null,{flush:`sync`})}function L(e,t,n){return Mo(e,t,n)}function Mo(e,t,n=E){let{immediate:r,deep:i,flush:a,once:o}=n,s=xe({},n),c=t&&r||!t&&a!==`post`,l;if(hc){if(a===`sync`){let e=Oo();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=_e,e.resume=_e,e.pause=_e,e}}let u=cc;s.call=(e,t,n)=>Or(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{fs(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():Br(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=yr(e,t,s);return hc&&(l?l.push(f):c&&f()),f}function No(e,t,n){let r=this.proxy,i=ke(e)?e.includes(`.`)?Po(r,e):()=>r[e]:e.bind(r,r),a;O(t)?a=t:(a=t.handler,n=t);let o=fc(this),s=Mo(i,a.bind(r),n);return o(),s}function Po(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e{let c,l=E,u;return jo(()=>{let t=e[i];Ke(c,t)&&(c=t,s())}),{get(){return o(),n.get?n.get(c):c},set(e){let o=n.set?n.set(e):e;if(!Ke(o,c)&&!(l!==E&&Ke(e,l)))return;let d=r.vnode.props;d&&(t in d||i in d||a in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${a}`in d)||(c=e,s()),r.emit(`update:${t}`,o),Ke(e,o)&&Ke(e,l)&&!Ke(o,u)&&s(),l=e,u=o}}});return s[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?o||E:s,done:!1}:{done:!0}}}},s}var Io=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ve(t)}Modifiers`]||e[`${Ue(t)}Modifiers`];function Lo(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||E,i=n,a=t.startsWith(`update:`),o=a&&Io(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>ke(e)?e.trim():e)),o.number&&(i=n.map(Ye)));let s,c=r[s=Ge(t)]||r[s=Ge(Ve(t))];!c&&a&&(c=r[s=Ge(Ue(t))]),c&&Or(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,Or(l,e,6,i)}}var Ro=new WeakMap;function zo(e,t,n=!1){let r=n?Ro:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!O(e)){let r=e=>{let n=zo(e,t,!0);n&&(s=!0,xe(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(je(e)&&r.set(e,null),null):(D(a)?a.forEach(e=>o[e]=null):xe(o,a),je(e)&&r.set(e,o),o)}function Bo(e,t){return!e||!ye(t)?!1:(t=t.slice(2).replace(/Once$/,``),we(e,t[0].toLowerCase()+t.slice(1))||we(e,Ue(t))||we(e,t))}function Vo(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=Qr(e),_,v;try{if(n.shapeFlag&4){let e=i||r,t=e;_=tc(l.call(t,e,u,d,p,f,m)),v=s}else{let e=t;_=tc(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),v=t.props?s:Uo(s)}}catch(t){zs.length=0,kr(t,e,1),_=U(Ls)}let y=_;if(v&&h!==!1){let e=Object.keys(v),{shapeFlag:t}=y;e.length&&t&7&&(a&&e.some(be)&&(v=Wo(v,a)),y=Qs(y,v,!1,!0))}return n.dirs&&(y=Qs(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&Ai(y,n.transition),_=y,Qr(g),_}function Ho(e,t=!0){let n;for(let t=0;t{let t;for(let n in e)(n===`class`||n===`style`||ye(n))&&((t||={})[n]=e[n]);return t},Wo=(e,t)=>{let n={};for(let r in e)(!be(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Go(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ko(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Jo),Xo=e=>Object.getPrototypeOf(e)===Jo;function Zo(e,t,n,r=!1){let i={},a=Yo();for(let n in e.propsDefaults=Object.create(null),$o(e,t,i,a),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=r?i:zn(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Qo(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=A(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=ns(e,t,!0);xe(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return je(e)&&r.set(e,ge),ge;if(D(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,as=e=>D(e)?e.map(tc):[tc(e)],os=(e,t,n)=>{if(t._n)return t;let r=P((...e)=>as(t(...e)),n);return r._c=!1,r},ss=(e,t,n)=>{let r=e._ctx;for(let n in e){if(is(n))continue;let i=e[n];if(O(i))t[n]=os(n,i,r);else if(i!=null){let e=as(i);t[n]=()=>e}}},cs=(e,t)=>{let n=as(t);e.slots.default=()=>n},ls=(e,t,n)=>{for(let r in t)(n||!is(r))&&(e[r]=t[r])},us=(e,t,n)=>{let r=e.slots=Yo();if(e.vnode.shapeFlag&32){let e=t._;e?(ls(r,t,n),n&&Je(r,`_`,e,!0)):ss(t,r)}else t&&cs(e,t)},ds=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=E;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:ls(i,t,n):(a=!t.$stable,ss(t,i)),o=t}else t&&(cs(e,t),o={default:1});if(a)for(let e in i)!is(e)&&o[e]==null&&delete i[e]},fs=Ns;function ps(e){return hs(e)}function ms(e){return hs(e,Wi)}function hs(e,t){let n=Qe();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=_e,insertStaticContent:m}=e,h=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ks(e,t)&&(r=ye(e),fe(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Is:g(e,t,n,r);break;case Ls:_(e,t,n,r);break;case Rs:e??v(t,n,r,o);break;case R:re(e,t,n,r,i,a,o,s,c);break;default:d&1?x(e,t,n,r,i,a,o,s,c):d&6?ie(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,Se)}u!=null&&i?Ii(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Ii(e.ref,null,a,e,!0)},g=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},_=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},v=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r,e.el,e.anchor)},y=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=f(e),r(e,n,i),e=a;r(t,n,i)},b=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=f(e),i(e),e=n;i(t)},x=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)ee(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),C(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},ee=(e,t,n,i,s,c,l,d)=>{let f,p,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(f=e.el=o(e.type,c,m&&m.is,m),h&8?u(f,e.children):h&16&&S(e.children,f,null,i,s,gs(e,c),l,d),_&&ri(e,null,i,`created`),te(f,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!Re(e)&&a(f,e,null,m[e],c,i);`value`in m&&a(f,`value`,null,m.value,c),(p=m.onVnodeBeforeMount)&&ic(p,i,e)}_&&ri(e,null,i,`beforeMount`);let v=vs(s,g);v&&g.beforeEnter(f),r(f,t,n),((p=m&&m.onVnodeMounted)||v||_)&&fs(()=>{p&&ic(p,i,e),v&&g.enter(f),_&&ri(e,null,i,`mounted`)},s)},te=(e,t,n,r,i)=>{if(n&&p(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let p=e.props||E,m=t.props||E,h;if(n&&_s(n,!1),(h=m.onVnodeBeforeUpdate)&&ic(h,n,t,e),f&&ri(t,e,n,`beforeUpdate`),n&&_s(n,!0),(p.innerHTML&&m.innerHTML==null||p.textContent&&m.textContent==null)&&u(c,``),d?ne(e.dynamicChildren,d,c,n,r,gs(t,i),o):s||T(e,t,c,null,n,r,gs(t,i),o,!1),l>0){if(l&16)w(c,p,m,n,i);else if(l&2&&p.class!==m.class&&a(c,`class`,null,m.class,i),l&4&&a(c,`style`,p.style,m.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{h&&ic(h,n,t,e),f&&ri(t,e,n,`updated`)},r)},ne=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==E)for(let o in t)!Re(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(Re(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},re=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),S(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren?(ne(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&ys(e,t,!0)):T(e,t,n,f,a,o,c,l,u)},ie=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):ae(t,n,r,i,a,o,c):oe(e,t,c)},ae=(e,t,n,r,i,a,o)=>{let s=e.component=sc(e,r,i);if(aa(e)&&(s.ctx.renderer=Se),gc(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=U(Ls);_(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(Go(e,t,n))if(r.asyncDep&&!r.asyncResolved){ce(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:c,vnode:l}=e;{let n=xs(e);if(n){t&&(t.el=l.el,ce(e,t,o)),n.asyncDep.then(()=>{e.isUnmounted||s()});return}}let u=t,f;_s(e,!1),t?(t.el=l.el,ce(e,t,o)):t=l,n&&qe(n),(f=t.props&&t.props.onVnodeBeforeUpdate)&&ic(f,c,t,l),_s(e,!0);let p=Vo(e),m=e.subTree;e.subTree=p,h(m,p,d(m.el),ye(m),e,i,a),t.el=p.el,u===null&&qo(e,p.el),r&&fs(r,i),(f=t.props&&t.props.onVnodeUpdated)&&fs(()=>ic(f,c,t,l),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=na(t);if(_s(e,!1),l&&qe(l),!m&&(o=c&&c.onVnodeBeforeMount)&&ic(o,d,t),_s(e,!0),s&&we){let t=()=>{e.subTree=Vo(e),we(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._def.shadowRoot!==!1&&f.ce._injectChildStyle(p);let o=e.subTree=Vo(e);h(null,o,n,r,e,i,a),t.el=o.el}if(u&&fs(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;fs(()=>ic(o,d,e),i)}(t.shapeFlag&256||d&&na(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&fs(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new wt(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Br(u),_s(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Qo(e,t.props,r,n),ds(e,t.children,n),Vt(),Ur(e),Ht()},T=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,d=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(p&128){ue(l,f,n,r,i,a,o,s,c);return}else if(p&256){le(l,f,n,r,i,a,o,s,c);return}}m&8?(d&16&&ve(l,i,a),f!==l&&u(n,f)):d&16?m&16?ue(l,f,n,r,i,a,o,s,c):ve(l,i,a,!0):(d&8&&u(n,``),m&16&&S(f,n,r,i,a,o,s,c))},le=(e,t,n,r,i,a,o,s,c)=>{e||=ge,t||=ge;let l=e.length,u=t.length,d=Math.min(l,u),f;for(f=0;fu?ve(e,i,a,!0,!1,d):S(t,n,r,i,a,o,s,c,d)},ue=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,d=e.length-1,f=u-1;for(;l<=d&&l<=f;){let r=e[l],u=t[l]=c?nc(t[l]):tc(t[l]);if(Ks(r,u))h(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=d&&l<=f;){let r=e[d],l=t[f]=c?nc(t[f]):tc(t[f]);if(Ks(r,l))h(r,l,n,null,i,a,o,s,c);else break;d--,f--}if(l>d){if(l<=f){let e=f+1,d=ef)for(;l<=d;)fe(e[l],i,a,!0),l++;else{let p=l,m=l,g=new Map;for(l=m;l<=f;l++){let e=t[l]=c?nc(t[l]):tc(t[l]);e.key!=null&&g.set(e.key,l)}let _,v=0,y=f-m+1,b=!1,x=0,ee=Array(y);for(l=0;l=y){fe(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=m;_<=f;_++)if(ee[_-m]===0&&Ks(r,t[_])){u=_;break}u===void 0?fe(r,i,a,!0):(ee[u-m]=l+1,u>=x?x=u:b=!0,h(r,t[u],n,null,i,a,o,s,c),v++)}let te=b?bs(ee):ge;for(_=te.length-1,l=y-1;l>=0;l--){let e=m+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){de(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,Se);return}if(c===R){r(s,t,n);for(let e=0;el.enter(s),o);else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{s._isLeaving&&s[_i](!0),a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},fe=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p}=e;if(d===-2&&(i=!1),s!=null&&(Vt(),Ii(s,null,n,e,!0),Ht()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let m=u&1&&f,h=!na(e),g;if(h&&(g=o&&o.onVnodeBeforeUnmount)&&ic(g,t,e),u&6)he(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}m&&ri(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,Se,r):l&&!l.hasOnce&&(a!==R||d>0&&d&64)?ve(l,t,n,!1,!0):(a===R&&d&384||!i&&u&16)&&ve(c,t,n),r&&pe(e)}(h&&(g=o&&o.onVnodeUnmounted)||m)&&fs(()=>{g&&ic(g,t,e),m&&ri(e,null,t,`unmounted`)},n)},pe=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===R){me(n,r);return}if(t===Rs){b(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},me=(e,t)=>{let n;for(;e!==t;)n=f(e),i(e),e=n;i(t)},he=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Ss(c),Ss(l),r&&qe(r),i.stop(),a&&(a.flags|=8,fe(o,e,t,n)),s&&fs(s,t),fs(()=>{e.isUnmounted=!0},t)},ve=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return ye(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=f(e.anchor||e.el),n=t&&t[ii];return n?f(n):t},be=!1,xe=(e,t,n)=>{e==null?t._vnode&&fe(t._vnode,null,null,!0):h(t._vnode||null,e,t,null,null,null,n),t._vnode=e,be||=(be=!0,Ur(),Wr(),!1)},Se={p:h,um:fe,m:de,r:pe,mt:ae,mc:S,pc:T,pbc:ne,n:ye,o:e},Ce,we;return t&&([Ce,we]=t(Se)),{render:xe,hydrate:Ce,createApp:So(xe,Ce)}}function gs({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function _s({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function vs(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ys(e,t,n=!1){let r=e.children,i=t.children;if(D(r)&&D(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function xs(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:xs(t)}function Ss(e){if(e)for(let t=0;te.__isSuspense,ws=0,Ts={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)Ds(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Os(e,t,n,r,i,o,s,c,l)}},hydrate:As,normalize:js};function Es(e,t){let n=e.props&&e.props[t];O(n)&&n()}function Ds(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=ks(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(Es(e,`onPending`),Es(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),Ps(f,e.ssFallback)):f.resolve(!1,!0)}function Os(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,Ks(h,f)?(c(h,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():g&&(_||(c(m,p,n,r,i,null,a,o,s),Ps(d,p)))):(d.pendingId=ws++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():(c(m,p,n,r,i,null,a,o,s),Ps(d,p))):m&&Ks(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&Ks(m,f))c(m,f,n,r,i,d,a,o,s),Ps(d,f);else if(Es(t,`onPending`),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=ws++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function ks(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=Fs(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?Xe(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:ws++,timeout:typeof y==`number`?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;x.isHydrating?x.isHydrating=!1:e||(g=i&&o.transition&&o.transition.mode===`out-in`,g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b?m(i):a,0),Hr(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&(h(i.el)===u&&(a=m(i)),p(i,l,x,!0),!g&&d&&r.ssFallback&&fs(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)),Ps(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,ee=!1;for(;y;){if(y.pendingBranch){y.effects.push(...c),ee=!0;break}y=y.parent}!ee&&!g&&Hr(c),x.effects=[],v&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,t.deps===0&&!n&&t.resolve()),Es(r,`onResolve`)},fallback(e){if(!x.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:r,container:i,namespace:a}=x;Es(t,`onFallback`);let o=m(n),l=()=>{x.isInFallback&&(d(null,e,i,o,r,null,a,s,c),Ps(x,e))},u=e.transition&&e.transition.mode===`out-in`;u&&(n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{kr(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;e.asyncResolved=!0;let{vnode:s}=e;vc(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),qo(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function As(e,t,n,r,i,a,o,s,c){let l=t.suspense=ks(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function js(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Ms(r?n.default:n),e.ssFallback=r?Ms(n.fallback):U(Ls)}function Ms(e){let t;if(O(e)){let n=Hs&&e._c;n&&(e._d=!1,z()),e=e(),n&&(e._d=!0,t=Bs,Vs())}return D(e)&&(e=Ho(e)),e=tc(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function Ns(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Hr(e)}function Ps(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,qo(r,i))}function Fs(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var R=Symbol.for(`v-fgt`),Is=Symbol.for(`v-txt`),Ls=Symbol.for(`v-cmt`),Rs=Symbol.for(`v-stc`),zs=[],Bs=null;function z(e=!1){zs.push(Bs=e?null:[])}function Vs(){zs.pop(),Bs=zs[zs.length-1]||null}var Hs=1;function Us(e,t=!1){Hs+=e,e<0&&Bs&&t&&(Bs.hasOnce=!0)}function Ws(e){return e.dynamicChildren=Hs>0?Bs||ge:null,Vs(),Hs>0&&Bs&&Bs.push(e),e}function B(e,t,n,r,i,a){return Ws(H(e,t,n,r,i,a,!0))}function V(e,t,n,r,i){return Ws(U(e,t,n,r,i,!0))}function Gs(e){return e?e.__v_isVNode===!0:!1}function Ks(e,t){return e.type===t.type&&e.key===t.key}function qs(e){}var Js=({key:e})=>e??null,Ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:ke(e)||Xn(e)||O(e)?{i:Xr,r:e,k:t,f:!!n}:e);function H(e,t=null,n=null,r=0,i=null,a=e===R?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Js(t),ref:t&&Ys(t),scopeId:Zr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Xr};return s?(rc(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=ke(n)?8:16),Hs>0&&!o&&Bs&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Bs.push(c),c}var U=Xs;function Xs(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ka)&&(e=Ls),Gs(e)){let r=Qs(e,t,!0);return n&&rc(r,n),Hs>0&&!a&&Bs&&(r.shapeFlag&6?Bs[Bs.indexOf(e)]=r:Bs.push(r)),r.patchFlag=-2,r}if(Oc(e)&&(e=e.__vccOpts),t){t=Zs(t);let{class:e,style:n}=t;e&&!ke(e)&&(t.class=k(e)),je(n)&&(Kn(n)&&!D(n)&&(n=xe({},n)),t.style=et(n))}let o=ke(e)?1:Cs(e)?128:ai(e)?64:je(e)?4:O(e)?2:0;return H(e,t,n,r,i,o,a,!0)}function Zs(e){return e?Kn(e)||Xo(e)?xe({},e):e:null}function Qs(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?G(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Js(l),ref:t&&t.ref?n&&a?D(a)?a.concat(Ys(t)):[a,Ys(t)]:Ys(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==R?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qs(e.ssContent),ssFallback:e.ssFallback&&Qs(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Ai(u,c.clone(u)),u}function $s(e=` `,t=0){return U(Is,null,e,t)}function ec(e,t){let n=U(Rs,null,e);return n.staticCount=t,n}function W(e=``,t=!1){return t?(z(),V(Ls,null,e)):U(Ls,null,e)}function tc(e){return e==null||typeof e==`boolean`?U(Ls):D(e)?U(R,null,e.slice()):Gs(e)?nc(e):U(Is,null,String(e))}function nc(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qs(e)}function rc(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),rc(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Xo(t)?t._ctx=Xr:r===3&&Xr&&(Xr.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else O(t)?(t={default:t,_ctx:Xr},n=32):(t=String(t),r&64?(n=16,t=[$s(t)]):n=8);e.children=t,e.shapeFlag|=n}function G(...e){let t={};for(let n=0;ncc||Xr,uc,dc;{let e=Qe(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};uc=t(`__VUE_INSTANCE_SETTERS__`,e=>cc=e),dc=t(`__VUE_SSR_SETTERS__`,e=>hc=e)}var fc=e=>{let t=cc;return uc(e),e.scope.on(),()=>{e.scope.off(),uc(t)}},pc=()=>{cc&&cc.scope.off(),uc(null)};function mc(e){return e.vnode.shapeFlag&4}var hc=!1;function gc(e,t=!1,n=!1){t&&dc(t);let{props:r,children:i}=e.vnode,a=mc(e);Zo(e,r,a,t),us(e,i,n||t);let o=a?_c(e,t):void 0;return t&&dc(!1),o}function _c(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Va);let{setup:r}=n;if(r){Vt();let n=e.setupContext=r.length>1?Tc(e):null,i=fc(e),a=Dr(r,e,0,[e.props,n]),o=Me(a);if(Ht(),i(),(o||e.sp)&&!na(e)&&Ni(e),o){if(a.then(pc,pc),t)return a.then(n=>{vc(e,n,t)}).catch(t=>{kr(t,e,0)});e.asyncDep=a}else vc(e,a,t)}else Cc(e,t)}function vc(e,t,n){O(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:je(t)&&(e.setupState=nr(t)),Cc(e,n)}var yc,bc;function xc(e){yc=e,bc=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Ha))}}var Sc=()=>!yc;function Cc(e,t,n){let r=e.type;if(!e.render){if(!t&&yc&&!r.render){let t=r.template||lo(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=xe(xe({isCustomElement:n,delimiters:a},i),o);r.render=yc(t,s)}}e.render=r.render||_e,bc&&bc(e)}{let t=fc(e);Vt();try{ao(e)}finally{Ht(),t()}}}var wc={get(e,t){return Qt(e,`get`,``),e[t]}};function Tc(e){return{attrs:new Proxy(e.attrs,wc),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Ec(e){return e.exposed?e.exposeProxy||=new Proxy(nr(qn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in za)return za[n](e)},has(e,t){return t in e||t in za}}):e.proxy}function Dc(e,t=!0){return O(e)?e.displayName||e.name:e.name||t&&e.__name}function Oc(e){return O(e)&&`__vccOpts`in e}var K=(e,t)=>dr(e,t,hc);function kc(e,t,n){try{Us(-1);let r=arguments.length;return r===2?je(t)&&!D(t)?Gs(t)?U(e,null,[t]):U(e,t):U(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Gs(n)&&(n=[n]),U(e,t,n))}finally{Us(1)}}function Ac(){return;function e(t,n,r){let i=t[r];if(D(i)&&i.includes(n)||je(i)&&n in i||t.extends&&e(t.extends,n,r)||t.mixins&&t.mixins.some(t=>e(t,n,r)))return!0}}function jc(e,t,n,r){let i=n[r];if(i&&Mc(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function Mc(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&Bs&&Bs.push(e),!0}var Nc=`3.5.25`,Pc=_e,Fc=Er,Ic=qr,Lc=Yr,Rc={createComponentInstance:sc,setupComponent:gc,renderComponentRoot:Vo,setCurrentRenderingInstance:Qr,isVNode:Gs,normalizeVNode:tc,getComponentPublicInstance:Ec,ensureValidVNode:Ia,pushWarningContext:Sr,popWarningContext:Cr},zc=void 0,Bc=typeof window<`u`&&window.trustedTypes;if(Bc)try{zc=Bc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Vc=zc?e=>zc.createHTML(e):e=>e,Hc=`http://www.w3.org/2000/svg`,Uc=`http://www.w3.org/1998/Math/MathML`,Wc=typeof document<`u`?document:null,Gc=Wc&&Wc.createElement(`template`),Kc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Wc.createElementNS(Hc,e):t===`mathml`?Wc.createElementNS(Uc,e):n?Wc.createElement(e,{is:n}):Wc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Wc.createTextNode(e),createComment:e=>Wc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Gc.innerHTML=Vc(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Gc.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},qc=`transition`,Jc=`animation`,Yc=Symbol(`_vtc`),Xc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Zc=xe({},xi,Xc),Qc=(e=>(e.displayName=`Transition`,e.props=Zc,e))((e,{slots:t})=>kc(Ti,tl(e),t)),$c=(e,t=[])=>{D(e)?e.forEach(e=>e(...t)):e&&e(...t)},el=e=>e?D(e)?e.some(e=>e.length>1):e.length>1:!1;function tl(e){let t={};for(let n in e)n in Xc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=nl(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:ee=_,onAppear:te=v,onAppearCancelled:S=y}=t,C=(e,t,n,r)=>{e._enterCancelled=r,al(e,t?u:s),al(e,t?l:o),n&&n()},ne=(e,t)=>{e._isLeaving=!1,al(e,d),al(e,p),al(e,f),t&&t()},w=e=>(t,n)=>{let i=e?te:v,o=()=>C(t,e,n);$c(i,[t,o]),ol(()=>{al(t,e?c:a),il(t,e?u:s),el(i)||cl(t,r,h,o)})};return xe(t,{onBeforeEnter(e){$c(_,[e]),il(e,a),il(e,o)},onBeforeAppear(e){$c(ee,[e]),il(e,c),il(e,l)},onEnter:w(!1),onAppear:w(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>ne(e,t);il(e,d),e._enterCancelled?(il(e,f),fl(e)):(fl(e),il(e,f)),ol(()=>{e._isLeaving&&(al(e,d),il(e,p),el(b)||cl(e,r,g,n))}),$c(b,[e,n])},onEnterCancelled(e){C(e,!1,void 0,!0),$c(y,[e])},onAppearCancelled(e){C(e,!0,void 0,!0),$c(S,[e])},onLeaveCancelled(e){ne(e),$c(x,[e])}})}function nl(e){if(e==null)return null;if(je(e))return[rl(e.enter),rl(e.leave)];{let t=rl(e);return[t,t]}}function rl(e){return Xe(e)}function il(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Yc]||(e[Yc]=new Set)).add(t)}function al(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Yc];n&&(n.delete(t),n.size||(e[Yc]=void 0))}function ol(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var sl=0;function cl(e,t,n,r){let i=e._endId=++sl,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=ll(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${qc}Delay`),a=r(`${qc}Duration`),o=ul(i,a),s=r(`${Jc}Delay`),c=r(`${Jc}Duration`),l=ul(s,c),u=null,d=0,f=0;t===qc?o>0&&(u=qc,d=o,f=a.length):t===Jc?l>0&&(u=Jc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?qc:Jc:null,f=u?u===qc?a.length:c.length:0);let p=u===qc&&/\b(?:transform|all)(?:,|$)/.test(r(`${qc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function ul(e,t){for(;e.lengthdl(t)+dl(e[n])))}function dl(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function fl(e){return(e?e.ownerDocument:document).body.offsetHeight}function pl(e,t,n){let r=e[Yc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var ml=Symbol(`_vod`),hl=Symbol(`_vsh`),gl={name:`show`,beforeMount(e,{value:t},{transition:n}){e[ml]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):_l(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),_l(e,!0),r.enter(e)):r.leave(e,()=>{_l(e,!1)}):_l(e,t))},beforeUnmount(e,{value:t}){_l(e,t)}};function _l(e,t){e.style.display=t?e[ml]:`none`,e[hl]=!t}function vl(){gl.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var yl=Symbol(``);function bl(e){let t=lc();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Sl(e,n))},r=()=>{let r=e(t.proxy);t.ce?Sl(t.ce,r):xl(t.subTree,r),n(r)};va(()=>{Hr(r)}),_a(()=>{L(r,_e,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),xa(()=>e.disconnect())})}function xl(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{xl(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Sl(e.el,t);else if(e.type===R)e.children.forEach(e=>xl(e,t));else if(e.type===Rs){let{el:n,anchor:r}=e;for(;n&&(Sl(n,t),n!==r);)n=n.nextSibling}}function Sl(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=gt(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[yl]=r}}var Cl=/(?:^|;)\s*display\s*:/;function wl(e,t,n){let r=e.style,i=ke(n),a=!1;if(n&&!i){if(t)if(ke(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??El(r,t,``)}else for(let e in t)n[e]??El(r,e,``);for(let e in n)e===`display`&&(a=!0),El(r,e,n[e])}else if(i){if(t!==n){let e=r[yl];e&&(n+=`;`+e),r.cssText=n,a=Cl.test(n)}}else t&&e.removeAttribute(`style`);ml in e&&(e[ml]=a?r.display:``,e[hl]&&(r.display=`none`))}var Tl=/\s*!important$/;function El(e,t,n){if(D(n))n.forEach(n=>El(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=kl(e,t);Tl.test(n)?e.setProperty(Ue(r),n.replace(Tl,``),`important`):e[r]=n}}var Dl=[`Webkit`,`Moz`,`ms`],Ol={};function kl(e,t){let n=Ol[t];if(n)return n;let r=Ve(t);if(r!==`filter`&&r in e)return Ol[t]=r;r=We(r);for(let n=0;nzl||=(Bl.then(()=>zl=0),Date.now());function Hl(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;Or(Ul(e,n.value),t,5,[e])};return n.value=e,n.attached=Vl(),n}function Ul(e,t){if(D(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var Wl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Gl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?pl(e,r,o):t===`style`?wl(e,n,r):ye(t)?be(t)||Il(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Kl(e,t,r,o))?(Ml(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&jl(e,t,r,o,a,t!==`value`)):e._isVueCE&&(/[A-Z]/.test(t)||!ke(r))?Ml(e,Ve(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),jl(e,t,r,o))};function Kl(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Wl(t)&&O(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Wl(t)&&ke(n)?!1:t in e}var ql={};function Jl(e,t,n){let r=F(e,t);Ie(r)&&(r=xe({},r,t));class i extends Zl{constructor(e){super(r,e,n)}}return i.def=r,i}var Yl=((e,t)=>Jl(e,t,Bu)),Xl=typeof HTMLElement<`u`?HTMLElement:class{},Zl=class e extends Xl{constructor(e,t={},n=zu){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==zu?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(xe({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.parentNode||t.host;)if(t instanceof e){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,Rr(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!D(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=Xe(this._props[e])),(i||=Object.create(null))[Ve(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}):e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)we(this,e)||Object.defineProperty(this,e,{get:()=>M(t[e])})}_resolveProps(e){let{props:t}=e,n=D(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(Ve))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):ql,r=Ve(e);t&&this._numberProps&&this._numberProps[r]&&(n=Xe(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===ql?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(Ue(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(Ue(e),t+``):t||this.removeAttribute(Ue(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),Lu(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=U(this._def,xe(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,Ie(t[0])?xe({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),Ue(e)!==e&&t(Ue(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let n=this._nonce;for(let t=e.length-1;t>=0;t--){let r=document.createElement(`style`);n&&r.setAttribute(`nonce`,n),r.textContent=e[t],this.shadowRoot.prepend(r)}}_parseSlots(){let e=this._slots={},t;for(;t=this.firstChild;){let n=t.nodeType===1&&t.getAttribute(`slot`)||`default`;(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){let e=this._getSlots(),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:`TransitionGroup`,props:xe({},Zc,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=lc(),r=yi(),i,a;return ya(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!lu(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(ou),i.forEach(su);let r=i.filter(cu);fl(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;il(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[ru]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[ru]=null,al(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=A(e),s=tl(o),c=o.tag||R;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=ll(r);return a.removeChild(r),o}var uu=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return D(t)?e=>qe(t,e):t};function du(e){e.target.composing=!0}function fu(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var pu=Symbol(`_assign`);function mu(e,t,n){return t&&(e=e.trim()),n&&(e=Ye(e)),e}var hu={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[pu]=uu(i);let a=r||i.props&&i.props.type===`number`;Nl(e,t?`change`:`input`,t=>{t.target.composing||e[pu](mu(e.value,n,a))}),(n||a)&&Nl(e,`change`,()=>{e.value=mu(e.value,n,a)}),t||(Nl(e,`compositionstart`,du),Nl(e,`compositionend`,fu),Nl(e,`change`,fu))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[pu]=uu(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?Ye(e.value):e.value,c=t??``;s!==c&&(document.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c))}},gu={deep:!0,created(e,t,n){e[pu]=uu(n),Nl(e,`change`,()=>{let t=e._modelValue,n=xu(e),r=e.checked,i=e[pu];if(D(t)){let e=dt(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(Ee(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Su(e,r))})},mounted:_u,beforeUpdate(e,t,n){e[pu]=uu(n),_u(e,t,n)}};function _u(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(D(t))i=dt(t,r.props.value)>-1;else if(Ee(t))i=t.has(r.props.value);else{if(t===n)return;i=ut(t,Su(e,!0))}e.checked!==i&&(e.checked=i)}var vu={created(e,{value:t},n){e.checked=ut(t,n.props.value),e[pu]=uu(n),Nl(e,`change`,()=>{e[pu](xu(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[pu]=uu(r),t!==n&&(e.checked=ut(t,r.props.value))}},yu={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=Ee(t);Nl(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?Ye(xu(e)):xu(e));e[pu](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,Rr(()=>{e._assigning=!1})}),e[pu]=uu(r)},mounted(e,{value:t}){bu(e,t)},beforeUpdate(e,t,n){e[pu]=uu(n)},updated(e,{value:t}){e._assigning||bu(e,t)}};function bu(e,t){let n=e.multiple,r=D(t);if(!(n&&!r&&!Ee(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=dt(t,o)>-1}else a.selected=t.has(o);else if(ut(xu(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function xu(e){return`_value`in e?e._value:e.value}function Su(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Cu={created(e,t,n){Tu(e,t,n,null,`created`)},mounted(e,t,n){Tu(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){Tu(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){Tu(e,t,n,r,`updated`)}};function wu(e,t){switch(e){case`SELECT`:return yu;case`TEXTAREA`:return hu;default:switch(t){case`checkbox`:return gu;case`radio`:return vu;default:return hu}}}function Tu(e,t,n,r,i){let a=wu(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function Eu(){hu.getSSRProps=({value:e})=>({value:e}),vu.getSSRProps=({value:e},t)=>{if(t.props&&ut(t.props.value,e))return{checked:!0}},gu.getSSRProps=({value:e},t)=>{if(D(e)){if(t.props&&dt(e,t.props.value)>-1)return{checked:!0}}else if(Ee(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},Cu.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=wu(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var Du=[`ctrl`,`shift`,`alt`,`meta`],Ou={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Du.some(n=>e[`${n}Key`]&&!t.includes(n))},ku=(e,t)=>{let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=Ue(n.key);if(t.some(e=>e===r||Au[e]===r))return e(n)}))},Mu=xe({patchProp:Gl},Kc),Nu,Pu=!1;function Fu(){return Nu||=ps(Mu)}function Iu(){return Nu=Pu?Nu:ms(Mu),Pu=!0,Nu}var Lu=((...e)=>{Fu().render(...e)}),Ru=((...e)=>{Iu().hydrate(...e)}),zu=((...e)=>{let t=Fu().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Hu(e);if(!r)return;let i=t._component;!O(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Vu(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),Bu=((...e)=>{let t=Iu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=Hu(e);if(t)return n(t,!0,Vu(t))},t});function Vu(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Hu(e){return ke(e)?document.querySelector(e):e}var Uu=!1,Wu=()=>{Uu||(Uu=!0,Eu(),vl())},Gu=n({BaseTransition:()=>Ti,BaseTransitionPropsValidators:()=>xi,Comment:()=>Ls,DeprecationTypes:()=>null,EffectScope:()=>vt,ErrorCodes:()=>Tr,ErrorTypeStrings:()=>Fc,Fragment:()=>R,KeepAlive:()=>oa,ReactiveEffect:()=>wt,Static:()=>Rs,Suspense:()=>Ts,Teleport:()=>mi,Text:()=>Is,TrackOpTypes:()=>fr,Transition:()=>Qc,TransitionGroup:()=>au,TriggerOpTypes:()=>pr,VueElement:()=>Zl,assertNumber:()=>wr,callWithAsyncErrorHandling:()=>Or,callWithErrorHandling:()=>Dr,camelize:()=>Ve,capitalize:()=>We,cloneVNode:()=>Qs,compatUtils:()=>null,compile:()=>Ku,computed:()=>K,createApp:()=>zu,createBlock:()=>V,createCommentVNode:()=>W,createElementBlock:()=>B,createElementVNode:()=>H,createHydrationRenderer:()=>ms,createPropsRestProxy:()=>no,createRenderer:()=>ps,createSSRApp:()=>Bu,createSlots:()=>Fa,createStaticVNode:()=>ec,createTextVNode:()=>$s,createVNode:()=>U,customRef:()=>ir,defineAsyncComponent:()=>ra,defineComponent:()=>F,defineCustomElement:()=>Jl,defineEmits:()=>Wa,defineExpose:()=>Ga,defineModel:()=>Ja,defineOptions:()=>Ka,defineProps:()=>Ua,defineSSRCustomElement:()=>Yl,defineSlots:()=>qa,devtools:()=>Ic,effect:()=>Lt,effectScope:()=>yt,getCurrentInstance:()=>lc,getCurrentScope:()=>bt,getCurrentWatcher:()=>_r,getTransitionRawChildren:()=>ji,guardReactiveProps:()=>Zs,h:()=>kc,handleError:()=>kr,hasInjectionContext:()=>Eo,hydrate:()=>Ru,hydrateOnIdle:()=>Xi,hydrateOnInteraction:()=>ea,hydrateOnMediaQuery:()=>$i,hydrateOnVisible:()=>Qi,initCustomFormatter:()=>Ac,initDirectivesForSSR:()=>Wu,inject:()=>To,isMemoSame:()=>Mc,isProxy:()=>Kn,isReactive:()=>Un,isReadonly:()=>Wn,isRef:()=>Xn,isRuntimeOnly:()=>Sc,isShallow:()=>Gn,isVNode:()=>Gs,markRaw:()=>qn,mergeDefaults:()=>eo,mergeModels:()=>to,mergeProps:()=>G,nextTick:()=>Rr,nodeOps:()=>Kc,normalizeClass:()=>k,normalizeProps:()=>at,normalizeStyle:()=>et,onActivated:()=>ca,onBeforeMount:()=>ga,onBeforeUnmount:()=>ba,onBeforeUpdate:()=>va,onDeactivated:()=>la,onErrorCaptured:()=>Ta,onMounted:()=>_a,onRenderTracked:()=>wa,onRenderTriggered:()=>Ca,onScopeDispose:()=>xt,onServerPrefetch:()=>Sa,onUnmounted:()=>xa,onUpdated:()=>ya,onWatcherCleanup:()=>vr,openBlock:()=>z,patchProp:()=>Gl,popScopeId:()=>ei,provide:()=>wo,proxyRefs:()=>nr,pushScopeId:()=>$r,queuePostFlushCb:()=>Hr,reactive:()=>Rn,readonly:()=>Bn,ref:()=>j,registerRuntimeCompiler:()=>xc,render:()=>Lu,renderList:()=>Pa,renderSlot:()=>I,resolveComponent:()=>Oa,resolveDirective:()=>ja,resolveDynamicComponent:()=>Aa,resolveFilter:()=>null,resolveTransitionHooks:()=>Di,setBlockTracking:()=>Us,setDevtoolsHook:()=>Lc,setTransitionHooks:()=>Ai,shallowReactive:()=>zn,shallowReadonly:()=>Vn,shallowRef:()=>Zn,ssrContextKey:()=>Do,ssrUtils:()=>Rc,stop:()=>Rt,toDisplayString:()=>pt,toHandlerKey:()=>Ge,toHandlers:()=>La,toRaw:()=>A,toRef:()=>cr,toRefs:()=>ar,toValue:()=>N,transformVNodeArgs:()=>qs,triggerRef:()=>er,unref:()=>M,useAttrs:()=>Za,useCssModule:()=>eu,useCssVars:()=>bl,useHost:()=>Ql,useId:()=>Mi,useModel:()=>Fo,useSSRContext:()=>Oo,useShadowRoot:()=>$l,useSlots:()=>Xa,useTemplateRef:()=>Pi,useTransitionState:()=>yi,vModelCheckbox:()=>gu,vModelDynamic:()=>Cu,vModelRadio:()=>vu,vModelSelect:()=>yu,vModelText:()=>hu,vShow:()=>gl,version:()=>Nc,warn:()=>Pc,watch:()=>L,watchEffect:()=>ko,watchPostEffect:()=>Ao,watchSyncEffect:()=>jo,withAsyncContext:()=>ro,withCtx:()=>P,withDefaults:()=>Ya,withDirectives:()=>ni,withKeys:()=>ju,withMemo:()=>jc,withModifiers:()=>ku,withScopeId:()=>ti},1),Ku=()=>{},qu=(e,t)=>Xn(t)?N(t):t,Ju=`usehead`;function Yu(e){return{install(t){t.config.globalProperties.$unhead=e,t.config.globalProperties.$head=e,t.provide(Ju,e)}}.install}function Xu(){if(Eo()){let e=To(Ju);if(!e)throw Error(`useHead() was called without provide context, ensure you call it through the setup() function.`);return e}throw Error(`useHead() was called without provide context, ensure you call it through the setup() function.`)}function Zu(e,t={}){let n=t.head||Xu();return n.ssr?n.push(e||{},t):Qu(n,e,t)}function Qu(e,t,n={}){let r=j(!1),i;return ko(()=>{let a=r.value?{}:S(t,qu);i?i.patch(a):i=e.push(a,n)}),lc()&&(ba(()=>{i.dispose()}),la(()=>{r.value=!0}),ca(()=>{r.value=!1})),i}function $u(e={}){let t=pe({domOptions:{render:me(()=>fe(t),e=>setTimeout(e,0))},...e});return t.install=Yu(t),t}var ed={install(e){if(e._context.provides.usehead)return;let t=$u();e.use(t)}},td={inherit:`inherit`,current:`currentcolor`,transparent:`transparent`,black:`#000`,white:`#fff`,slate:{50:`oklch(98.4% 0.003 247.858)`,100:`oklch(96.8% 0.007 247.896)`,200:`oklch(92.9% 0.013 255.508)`,300:`oklch(86.9% 0.022 252.894)`,400:`oklch(70.4% 0.04 256.788)`,500:`oklch(55.4% 0.046 257.417)`,600:`oklch(44.6% 0.043 257.281)`,700:`oklch(37.2% 0.044 257.287)`,800:`oklch(27.9% 0.041 260.031)`,900:`oklch(20.8% 0.042 265.755)`,950:`oklch(12.9% 0.042 264.695)`},gray:{50:`oklch(98.5% 0.002 247.839)`,100:`oklch(96.7% 0.003 264.542)`,200:`oklch(92.8% 0.006 264.531)`,300:`oklch(87.2% 0.01 258.338)`,400:`oklch(70.7% 0.022 261.325)`,500:`oklch(55.1% 0.027 264.364)`,600:`oklch(44.6% 0.03 256.802)`,700:`oklch(37.3% 0.034 259.733)`,800:`oklch(27.8% 0.033 256.848)`,900:`oklch(21% 0.034 264.665)`,950:`oklch(13% 0.028 261.692)`},zinc:{50:`oklch(98.5% 0 0)`,100:`oklch(96.7% 0.001 286.375)`,200:`oklch(92% 0.004 286.32)`,300:`oklch(87.1% 0.006 286.286)`,400:`oklch(70.5% 0.015 286.067)`,500:`oklch(55.2% 0.016 285.938)`,600:`oklch(44.2% 0.017 285.786)`,700:`oklch(37% 0.013 285.805)`,800:`oklch(27.4% 0.006 286.033)`,900:`oklch(21% 0.006 285.885)`,950:`oklch(14.1% 0.005 285.823)`},neutral:{50:`oklch(98.5% 0 0)`,100:`oklch(97% 0 0)`,200:`oklch(92.2% 0 0)`,300:`oklch(87% 0 0)`,400:`oklch(70.8% 0 0)`,500:`oklch(55.6% 0 0)`,600:`oklch(43.9% 0 0)`,700:`oklch(37.1% 0 0)`,800:`oklch(26.9% 0 0)`,900:`oklch(20.5% 0 0)`,950:`oklch(14.5% 0 0)`},stone:{50:`oklch(98.5% 0.001 106.423)`,100:`oklch(97% 0.001 106.424)`,200:`oklch(92.3% 0.003 48.717)`,300:`oklch(86.9% 0.005 56.366)`,400:`oklch(70.9% 0.01 56.259)`,500:`oklch(55.3% 0.013 58.071)`,600:`oklch(44.4% 0.011 73.639)`,700:`oklch(37.4% 0.01 67.558)`,800:`oklch(26.8% 0.007 34.298)`,900:`oklch(21.6% 0.006 56.043)`,950:`oklch(14.7% 0.004 49.25)`},red:{50:`oklch(97.1% 0.013 17.38)`,100:`oklch(93.6% 0.032 17.717)`,200:`oklch(88.5% 0.062 18.334)`,300:`oklch(80.8% 0.114 19.571)`,400:`oklch(70.4% 0.191 22.216)`,500:`oklch(63.7% 0.237 25.331)`,600:`oklch(57.7% 0.245 27.325)`,700:`oklch(50.5% 0.213 27.518)`,800:`oklch(44.4% 0.177 26.899)`,900:`oklch(39.6% 0.141 25.723)`,950:`oklch(25.8% 0.092 26.042)`},orange:{50:`oklch(98% 0.016 73.684)`,100:`oklch(95.4% 0.038 75.164)`,200:`oklch(90.1% 0.076 70.697)`,300:`oklch(83.7% 0.128 66.29)`,400:`oklch(75% 0.183 55.934)`,500:`oklch(70.5% 0.213 47.604)`,600:`oklch(64.6% 0.222 41.116)`,700:`oklch(55.3% 0.195 38.402)`,800:`oklch(47% 0.157 37.304)`,900:`oklch(40.8% 0.123 38.172)`,950:`oklch(26.6% 0.079 36.259)`},amber:{50:`oklch(98.7% 0.022 95.277)`,100:`oklch(96.2% 0.059 95.617)`,200:`oklch(92.4% 0.12 95.746)`,300:`oklch(87.9% 0.169 91.605)`,400:`oklch(82.8% 0.189 84.429)`,500:`oklch(76.9% 0.188 70.08)`,600:`oklch(66.6% 0.179 58.318)`,700:`oklch(55.5% 0.163 48.998)`,800:`oklch(47.3% 0.137 46.201)`,900:`oklch(41.4% 0.112 45.904)`,950:`oklch(27.9% 0.077 45.635)`},yellow:{50:`oklch(98.7% 0.026 102.212)`,100:`oklch(97.3% 0.071 103.193)`,200:`oklch(94.5% 0.129 101.54)`,300:`oklch(90.5% 0.182 98.111)`,400:`oklch(85.2% 0.199 91.936)`,500:`oklch(79.5% 0.184 86.047)`,600:`oklch(68.1% 0.162 75.834)`,700:`oklch(55.4% 0.135 66.442)`,800:`oklch(47.6% 0.114 61.907)`,900:`oklch(42.1% 0.095 57.708)`,950:`oklch(28.6% 0.066 53.813)`},lime:{50:`oklch(98.6% 0.031 120.757)`,100:`oklch(96.7% 0.067 122.328)`,200:`oklch(93.8% 0.127 124.321)`,300:`oklch(89.7% 0.196 126.665)`,400:`oklch(84.1% 0.238 128.85)`,500:`oklch(76.8% 0.233 130.85)`,600:`oklch(64.8% 0.2 131.684)`,700:`oklch(53.2% 0.157 131.589)`,800:`oklch(45.3% 0.124 130.933)`,900:`oklch(40.5% 0.101 131.063)`,950:`oklch(27.4% 0.072 132.109)`},green:{50:`oklch(98.2% 0.018 155.826)`,100:`oklch(96.2% 0.044 156.743)`,200:`oklch(92.5% 0.084 155.995)`,300:`oklch(87.1% 0.15 154.449)`,400:`oklch(79.2% 0.209 151.711)`,500:`oklch(72.3% 0.219 149.579)`,600:`oklch(62.7% 0.194 149.214)`,700:`oklch(52.7% 0.154 150.069)`,800:`oklch(44.8% 0.119 151.328)`,900:`oklch(39.3% 0.095 152.535)`,950:`oklch(26.6% 0.065 152.934)`},emerald:{50:`oklch(97.9% 0.021 166.113)`,100:`oklch(95% 0.052 163.051)`,200:`oklch(90.5% 0.093 164.15)`,300:`oklch(84.5% 0.143 164.978)`,400:`oklch(76.5% 0.177 163.223)`,500:`oklch(69.6% 0.17 162.48)`,600:`oklch(59.6% 0.145 163.225)`,700:`oklch(50.8% 0.118 165.612)`,800:`oklch(43.2% 0.095 166.913)`,900:`oklch(37.8% 0.077 168.94)`,950:`oklch(26.2% 0.051 172.552)`},teal:{50:`oklch(98.4% 0.014 180.72)`,100:`oklch(95.3% 0.051 180.801)`,200:`oklch(91% 0.096 180.426)`,300:`oklch(85.5% 0.138 181.071)`,400:`oklch(77.7% 0.152 181.912)`,500:`oklch(70.4% 0.14 182.503)`,600:`oklch(60% 0.118 184.704)`,700:`oklch(51.1% 0.096 186.391)`,800:`oklch(43.7% 0.078 188.216)`,900:`oklch(38.6% 0.063 188.416)`,950:`oklch(27.7% 0.046 192.524)`},cyan:{50:`oklch(98.4% 0.019 200.873)`,100:`oklch(95.6% 0.045 203.388)`,200:`oklch(91.7% 0.08 205.041)`,300:`oklch(86.5% 0.127 207.078)`,400:`oklch(78.9% 0.154 211.53)`,500:`oklch(71.5% 0.143 215.221)`,600:`oklch(60.9% 0.126 221.723)`,700:`oklch(52% 0.105 223.128)`,800:`oklch(45% 0.085 224.283)`,900:`oklch(39.8% 0.07 227.392)`,950:`oklch(30.2% 0.056 229.695)`},sky:{50:`oklch(97.7% 0.013 236.62)`,100:`oklch(95.1% 0.026 236.824)`,200:`oklch(90.1% 0.058 230.902)`,300:`oklch(82.8% 0.111 230.318)`,400:`oklch(74.6% 0.16 232.661)`,500:`oklch(68.5% 0.169 237.323)`,600:`oklch(58.8% 0.158 241.966)`,700:`oklch(50% 0.134 242.749)`,800:`oklch(44.3% 0.11 240.79)`,900:`oklch(39.1% 0.09 240.876)`,950:`oklch(29.3% 0.066 243.157)`},blue:{50:`oklch(97% 0.014 254.604)`,100:`oklch(93.2% 0.032 255.585)`,200:`oklch(88.2% 0.059 254.128)`,300:`oklch(80.9% 0.105 251.813)`,400:`oklch(70.7% 0.165 254.624)`,500:`oklch(62.3% 0.214 259.815)`,600:`oklch(54.6% 0.245 262.881)`,700:`oklch(48.8% 0.243 264.376)`,800:`oklch(42.4% 0.199 265.638)`,900:`oklch(37.9% 0.146 265.522)`,950:`oklch(28.2% 0.091 267.935)`},indigo:{50:`oklch(96.2% 0.018 272.314)`,100:`oklch(93% 0.034 272.788)`,200:`oklch(87% 0.065 274.039)`,300:`oklch(78.5% 0.115 274.713)`,400:`oklch(67.3% 0.182 276.935)`,500:`oklch(58.5% 0.233 277.117)`,600:`oklch(51.1% 0.262 276.966)`,700:`oklch(45.7% 0.24 277.023)`,800:`oklch(39.8% 0.195 277.366)`,900:`oklch(35.9% 0.144 278.697)`,950:`oklch(25.7% 0.09 281.288)`},violet:{50:`oklch(96.9% 0.016 293.756)`,100:`oklch(94.3% 0.029 294.588)`,200:`oklch(89.4% 0.057 293.283)`,300:`oklch(81.1% 0.111 293.571)`,400:`oklch(70.2% 0.183 293.541)`,500:`oklch(60.6% 0.25 292.717)`,600:`oklch(54.1% 0.281 293.009)`,700:`oklch(49.1% 0.27 292.581)`,800:`oklch(43.2% 0.232 292.759)`,900:`oklch(38% 0.189 293.745)`,950:`oklch(28.3% 0.141 291.089)`},purple:{50:`oklch(97.7% 0.014 308.299)`,100:`oklch(94.6% 0.033 307.174)`,200:`oklch(90.2% 0.063 306.703)`,300:`oklch(82.7% 0.119 306.383)`,400:`oklch(71.4% 0.203 305.504)`,500:`oklch(62.7% 0.265 303.9)`,600:`oklch(55.8% 0.288 302.321)`,700:`oklch(49.6% 0.265 301.924)`,800:`oklch(43.8% 0.218 303.724)`,900:`oklch(38.1% 0.176 304.987)`,950:`oklch(29.1% 0.149 302.717)`},fuchsia:{50:`oklch(97.7% 0.017 320.058)`,100:`oklch(95.2% 0.037 318.852)`,200:`oklch(90.3% 0.076 319.62)`,300:`oklch(83.3% 0.145 321.434)`,400:`oklch(74% 0.238 322.16)`,500:`oklch(66.7% 0.295 322.15)`,600:`oklch(59.1% 0.293 322.896)`,700:`oklch(51.8% 0.253 323.949)`,800:`oklch(45.2% 0.211 324.591)`,900:`oklch(40.1% 0.17 325.612)`,950:`oklch(29.3% 0.136 325.661)`},pink:{50:`oklch(97.1% 0.014 343.198)`,100:`oklch(94.8% 0.028 342.258)`,200:`oklch(89.9% 0.061 343.231)`,300:`oklch(82.3% 0.12 346.018)`,400:`oklch(71.8% 0.202 349.761)`,500:`oklch(65.6% 0.241 354.308)`,600:`oklch(59.2% 0.249 0.584)`,700:`oklch(52.5% 0.223 3.958)`,800:`oklch(45.9% 0.187 3.815)`,900:`oklch(40.8% 0.153 2.432)`,950:`oklch(28.4% 0.109 3.907)`},rose:{50:`oklch(96.9% 0.015 12.422)`,100:`oklch(94.1% 0.03 12.58)`,200:`oklch(89.2% 0.058 10.001)`,300:`oklch(81% 0.117 11.638)`,400:`oklch(71.2% 0.194 13.428)`,500:`oklch(64.5% 0.246 16.439)`,600:`oklch(58.6% 0.253 17.585)`,700:`oklch(51.4% 0.222 16.935)`,800:`oklch(45.5% 0.188 13.697)`,900:`oklch(41% 0.159 10.272)`,950:`oklch(27.1% 0.105 12.094)`}};function nd(e){return bt()?(xt(e),!0):!1}var rd=new WeakMap,id=(...e)=>{let t=e[0],n=lc()?.proxy;if(n==null&&!Eo())throw Error(`injectLocal must be called in setup`);return n&&rd.has(n)&&t in rd.get(n)?rd.get(n)[t]:To(...e)};function ad(e){let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return(...a)=>(t+=1,r||(r=yt(!0),n=r.run(()=>e(...a))),nd(i),n)}function od(e,t){if(typeof Symbol<`u`){let n={...e};return Object.defineProperty(n,Symbol.iterator,{enumerable:!1,value(){let e=0;return{next:()=>({value:t[e++],done:e>t.length})}}}),n}else return Object.assign([...t],e)}function sd(e){return Xn(e)?Rn(new Proxy({},{get(t,n,r){return M(Reflect.get(e.value,n,r))},set(t,n,r){return Xn(e.value[n])&&!Xn(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):Rn(e)}function cd(e){return sd(K(e))}function ld(e,...t){let n=t.flat(),r=n[0];return cd(()=>typeof r==`function`?Object.fromEntries(Object.entries(ar(e)).filter(([e,t])=>!r(N(t),e))):Object.fromEntries(Object.entries(ar(e)).filter(e=>!n.includes(e[0]))))}var ud=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var dd=Object.prototype.toString,fd=e=>dd.call(e)===`[object Object]`,pd=()=>{};function md(...e){if(e.length!==1)return cr(...e);let t=e[0];return typeof t==`function`?Bn(ir(()=>({get:t,set:pd}))):j(t)}function hd(e,...t){let n=t.flat(),r=n[0];return cd(()=>typeof r==`function`?Object.fromEntries(Object.entries(ar(e)).filter(([e,t])=>r(N(t),e))):Object.fromEntries(n.map(t=>[t,md(e,t)])))}function gd(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}var _d=e=>e();function vd(e=_d,t={}){let{initialState:n=`active`}=t,r=md(n===`active`);function i(){r.value=!1}function a(){r.value=!0}return{isActive:Bn(r),pause:i,resume:a,eventFilter:(...t)=>{r.value&&e(...t)}}}function yd(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function bd(e){return Array.isArray(e)?e:[e]}function xd(e){let t=Object.create(null);return n=>t[n]||(t[n]=e(n))}var Sd=/-(\w)/g,Cd=xd(e=>e.replace(Sd,(e,t)=>t?t.toUpperCase():``));function wd(e){return e||lc()}function Td(e,t,n={}){let{eventFilter:r=_d,...i}=n;return L(e,gd(r,t),i)}function Ed(e,t,n={}){let{eventFilter:r,initialState:i=`active`,...a}=n,{eventFilter:o,pause:s,resume:c,isActive:l}=vd(r,{initialState:i});return{stop:Td(e,t,{...a,eventFilter:o}),pause:s,resume:c,isActive:l}}function Dd(e,t=!0,n){wd(n)?_a(e,n):t?e():Rr(e)}function Od(e,t,n){return L(e,t,{...n,immediate:!0})}function kd(e={}){let{inheritAttrs:t=!0}=e,n=Zn(),r=F({setup(e,{slots:t}){return()=>{n.value=t.default}}}),i=F({inheritAttrs:t,props:e.props,setup(r,{attrs:i,slots:a}){return()=>{n.value;let o=n.value?.call(n,{...e.props==null?Ad(i):r,$slots:a});return t&&o?.length===1?o[0]:o}}});return od({define:r,reuse:i},[r,i])}function Ad(e){let t={};for(let n in e)t[Cd(n)]=e[n];return t}var jd=ud?window:void 0;ud&&window.document,ud&&window.navigator,ud&&window.location;function Md(e){let t=N(e);return t?.$el??t}function Nd(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),i=K(()=>{let t=bd(N(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),a=Od(()=>[i.value?.map(e=>Md(e))??[jd].filter(e=>e!=null),bd(N(i.value?e[1]:e[0])),bd(M(i.value?e[2]:e[1])),N(i.value?e[3]:e[2])],([e,i,a,o])=>{if(n(),!e?.length||!i?.length||!a?.length)return;let s=fd(o)?{...o}:o;t.push(...e.flatMap(e=>i.flatMap(t=>a.map(n=>r(e,t,n,s)))))},{flush:`post`});return nd(n),()=>{a(),n()}}function Pd(){let e=Zn(!1),t=lc();return t&&_a(()=>{e.value=!0},t),e}function Fd(e){let t=Pd();return K(()=>(t.value,!!e()))}var Id=Symbol(`vueuse-ssr-width`);function Ld(){let e=Eo()?id(Id,null):null;return typeof e==`number`?e:void 0}function Rd(e,t={}){let{window:n=jd,ssrWidth:r=Ld()}=t,i=Fd(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),a=Zn(typeof r==`number`),o=Zn(),s=Zn(!1);return ko(()=>{if(a.value){a.value=!i.value,s.value=N(e).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||i);return n&&a&&(a=r>=yd(n[1])),i&&a&&(a=r<=yd(i[1])),t?!a:a});return}i.value&&(o.value=n.matchMedia(N(e)),s.value=o.value.matches)}),Nd(o,`change`,e=>{s.value=e.matches},{passive:!0}),K(()=>s.value)}var zd=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},Bd=`__vueuse_ssr_handlers__`,Vd=Hd();function Hd(){return Bd in zd||(zd[Bd]=zd[Bd]||{}),zd[Bd]}function Ud(e,t){return Vd[e]||t}function Wd(e){return Rd(`(prefers-color-scheme: dark)`,e)}function Gd(e){return e==null?`any`:e instanceof Set?`set`:e instanceof Map?`map`:e instanceof Date?`date`:typeof e==`boolean`?`boolean`:typeof e==`string`?`string`:typeof e==`object`?`object`:Number.isNaN(e)?`any`:`number`}var Kd={boolean:{read:e=>e===`true`,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},qd=`vueuse-storage`;function Jd(e,t,n,r={}){let{flush:i=`pre`,deep:a=!0,listenToStorageChanges:o=!0,writeDefaults:s=!0,mergeDefaults:c=!1,shallow:l,window:u=jd,eventFilter:d,onError:f=e=>{console.error(e)},initOnMounted:p}=r,m=(l?Zn:j)(typeof t==`function`?t():t),h=K(()=>N(e));if(!n)try{n=Ud(`getDefaultStorage`,()=>jd?.localStorage)()}catch(e){f(e)}if(!n)return m;let g=N(t),_=Gd(g),v=r.serializer??Kd[_],{pause:y,resume:b}=Ed(m,e=>te(e),{flush:i,deep:a,eventFilter:d});L(h,()=>C(),{flush:i});let x=!1;u&&o&&(n instanceof Storage?Nd(u,`storage`,e=>{p&&!x||C(e)},{passive:!0}):Nd(u,qd,e=>{p&&!x||ne(e)})),p?Dd(()=>{x=!0,C()}):C();function ee(e,t){if(u){let r={key:h.value,oldValue:e,newValue:t,storageArea:n};u.dispatchEvent(n instanceof Storage?new StorageEvent(`storage`,r):new CustomEvent(qd,{detail:r}))}}function te(e){try{let t=n.getItem(h.value);if(e==null)ee(t,null),n.removeItem(h.value);else{let r=v.write(e);t!==r&&(n.setItem(h.value,r),ee(t,r))}}catch(e){f(e)}}function S(e){let t=e?e.newValue:n.getItem(h.value);if(t==null)return s&&g!=null&&n.setItem(h.value,v.write(g)),g;if(!e&&c){let e=v.read(t);return typeof c==`function`?c(e,g):_===`object`&&!Array.isArray(e)?{...g,...e}:e}else if(typeof t!=`string`)return t;else return v.read(t)}function C(e){if(!(e&&e.storageArea!==n)){if(e&&e.key==null){m.value=g;return}if(!(e&&e.key!==h.value)){y();try{let t=v.write(m.value);(e===void 0||e?.newValue!==t)&&(m.value=S(e))}catch(e){f(e)}finally{e?Rr(b):b()}}}}function ne(e){C(e.detail)}return m}var Yd=`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`;function Xd(e={}){let{selector:t=`html`,attribute:n=`class`,initialValue:r=`auto`,window:i=jd,storage:a,storageKey:o=`vueuse-color-scheme`,listenToStorageChanges:s=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=e,d={auto:``,light:`light`,dark:`dark`,...e.modes||{}},f=Wd({window:i}),p=K(()=>f.value?`dark`:`light`),m=c||(o==null?md(r):Jd(o,r,a,{window:i,listenToStorageChanges:s})),h=K(()=>m.value===`auto`?p.value:m.value),g=Ud(`updateHTMLAttrs`,(e,t,n)=>{let r=typeof e==`string`?i?.document.querySelector(e):Md(e);if(!r)return;let a=new Set,o=new Set,s=null;if(t===`class`){let e=n.split(/\s/g);Object.values(d).flatMap(e=>(e||``).split(/\s/g)).filter(Boolean).forEach(t=>{e.includes(t)?a.add(t):o.add(t)})}else s={key:t,value:n};if(a.size===0&&o.size===0&&s===null)return;let c;u&&(c=i.document.createElement(`style`),c.appendChild(document.createTextNode(Yd)),i.document.head.appendChild(c));for(let e of a)r.classList.add(e);for(let e of o)r.classList.remove(e);s&&r.setAttribute(s.key,s.value),u&&(i.getComputedStyle(c).opacity,document.head.removeChild(c))});function _(e){g(t,n,d[e]??e)}function v(t){e.onChanged?e.onChanged(t,_):_(t)}L(h,v,{flush:`post`,immediate:!0}),Dd(()=>v(h.value));let y=K({get(){return l?m.value:h.value},set(e){m.value=e}});return Object.assign(y,{store:m,system:p,state:h})}function Zd(e={}){let{valueDark:t=`dark`,valueLight:n=``}=e,r=Xd({...e,onChanged:(t,n)=>{var r;e.onChanged?(r=e.onChanged)==null||r.call(e,t===`dark`,n,t):n(t)},modes:{dark:t,light:n}}),i=K(()=>r.system.value);return K({get(){return r.value===`dark`},set(e){let t=e?`dark`:`light`;i.value===t?r.value=`auto`:r.value=t}})}var Qd={ui:{colors:{primary:`blue`,secondary:`blue`,success:`green`,info:`blue`,warning:`yellow`,error:`red`,neutral:`zinc`},icons:{arrowDown:`i-lucide-arrow-down`,arrowLeft:`i-lucide-arrow-left`,arrowRight:`i-lucide-arrow-right`,arrowUp:`i-lucide-arrow-up`,caution:`i-lucide-circle-alert`,check:`i-lucide-check`,chevronDoubleLeft:`i-lucide-chevrons-left`,chevronDoubleRight:`i-lucide-chevrons-right`,chevronDown:`i-lucide-chevron-down`,chevronLeft:`i-lucide-chevron-left`,chevronRight:`i-lucide-chevron-right`,chevronUp:`i-lucide-chevron-up`,close:`i-lucide-x`,copy:`i-lucide-copy`,copyCheck:`i-lucide-copy-check`,dark:`i-lucide-moon`,ellipsis:`i-lucide-ellipsis`,error:`i-lucide-circle-x`,external:`i-lucide-arrow-up-right`,eye:`i-lucide-eye`,eyeOff:`i-lucide-eye-off`,file:`i-lucide-file`,folder:`i-lucide-folder`,folderOpen:`i-lucide-folder-open`,hash:`i-lucide-hash`,info:`i-lucide-info`,light:`i-lucide-sun`,loading:`i-lucide-loader-circle`,menu:`i-lucide-menu`,minus:`i-lucide-minus`,panelClose:`i-lucide-panel-left-close`,panelOpen:`i-lucide-panel-left-open`,plus:`i-lucide-plus`,reload:`i-lucide-rotate-ccw`,search:`i-lucide-search`,stop:`i-lucide-square`,success:`i-lucide-circle-check`,system:`i-lucide-monitor`,tip:`i-lucide-lightbulb`,upload:`i-lucide-upload`,warning:`i-lucide-triangle-alert`},tv:{twMergeConfig:{}},card:{defaultVariants:{variant:`soft`}},badge:{defaultVariants:{variant:`soft`}},input:{defaultVariants:{variant:`soft`}},button:{slots:{base:`not-disabled:cursor-pointer`},defaultVariants:{variant:`soft`}},tooltip:{slots:{content:`px-4 py-2 h-auto bg-default/90 text-toned font-mono`}}},colorMode:!0},$d=typeof document<`u`;function ef(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function tf(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ef(e.default)}var nf=Object.assign;function rf(e,t){let n={};for(let r in t){let i=t[r];n[r]=of(i)?i.map(e):e(i)}return n}var af=()=>{},of=Array.isArray;function sf(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var cf=/#/g,lf=/&/g,uf=/\//g,df=/=/g,ff=/\?/g,pf=/\+/g,mf=/%5B/g,hf=/%5D/g,gf=/%5E/g,_f=/%60/g,vf=/%7B/g,yf=/%7C/g,bf=/%7D/g,xf=/%20/g;function Sf(e){return e==null?``:encodeURI(``+e).replace(yf,`|`).replace(mf,`[`).replace(hf,`]`)}function Cf(e){return Sf(e).replace(vf,`{`).replace(bf,`}`).replace(gf,`^`)}function wf(e){return Sf(e).replace(pf,`%2B`).replace(xf,`+`).replace(cf,`%23`).replace(lf,`%26`).replace(_f,"`").replace(vf,`{`).replace(bf,`}`).replace(gf,`^`)}function Tf(e){return wf(e).replace(df,`%3D`)}function Ef(e){return Sf(e).replace(cf,`%23`).replace(ff,`%3F`)}function Df(e){return Ef(e).replace(uf,`%2F`)}function Of(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var kf=/\/$/,Af=e=>e.replace(kf,``);function jf(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=zf(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Of(o)}}function Mf(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Nf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Pf(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Ff(t.matched[r],n.matched[i])&&If(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ff(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function If(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Lf(e[n],t[n]))return!1;return!0}function Lf(e,t){return of(e)?Rf(e,t):of(t)?Rf(t,e):e?.valueOf()===t?.valueOf()}function Rf(e,t){return of(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function zf(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Bf={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Vf=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Hf=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Uf(e){if(!e)if($d){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Af(e)}var Wf=/^[^#]+#/;function Gf(e,t){return e.replace(Wf,`#`)+t}function Kf(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var qf=()=>({left:window.scrollX,top:window.scrollY});function Jf(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Kf(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Yf(e,t){return(history.state?history.state.position-t:-1)+e}var Xf=new Map;function Zf(e,t){Xf.set(e,t)}function Qf(e){let t=Xf.get(e);return Xf.delete(e),t}function $f(e){return typeof e==`string`||e&&typeof e==`object`}function ep(e){return typeof e==`string`||typeof e==`symbol`}var tp=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),np=Symbol(``);tp.MATCHER_NOT_FOUND,tp.NAVIGATION_GUARD_REDIRECT,tp.NAVIGATION_ABORTED,tp.NAVIGATION_CANCELLED,tp.NAVIGATION_DUPLICATED;function rp(e,t){return nf(Error(),{type:e,[np]:!0},t)}function ip(e,t){return e instanceof Error&&np in e&&(t==null||!!(e.type&t))}function ap(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&wf(e)):[r&&wf(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function sp(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=of(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var cp=Symbol(``),lp=Symbol(``),up=Symbol(``),dp=Symbol(``),fp=Symbol(``);function pp(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function mp(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(rp(tp.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):$f(e)?c(rp(tp.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function hp(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(ef(s)){let c=(s.__vccOpts||s)[t];c&&a.push(mp(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=tf(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&mp(c,n,r,o,e,i)()}))}}return a}function gp(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oFf(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Ff(e,s))||i.push(s))}return[n,r,i]}var _p=()=>location.protocol+`//`+location.host;function vp(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Nf(n,``)}return Nf(n,e)+r+i}function yp(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=vp(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Vf.pop,direction:u?u>0?Hf.forward:Hf.back:Hf.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(nf({},e.state,{scroll:qf()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function bp(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?qf():null}}function xp(e){let{history:t,location:n}=window,r={value:vp(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:_p()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,nf({},t.state,bp(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=nf({},i.value,t.state,{forward:e,scroll:qf()});a(o.current,o,!0),a(e,nf({},bp(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Sp(e){e=Uf(e);let t=xp(e),n=yp(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=nf({location:``,base:e,go:r,createHref:Gf.bind(null,e)},t,n);return Object.defineProperty(i,`location`,{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,`state`,{enumerable:!0,get:()=>t.state.value}),i}var Cp=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),wp=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(wp||{}),Tp={type:Cp.Static,value:``},Ep=/[a-zA-Z0-9_]/;function Dp(e){if(!e)return[[]];if(e===`/`)return[[Tp]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=wp.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===wp.Static?a.push({type:Cp.Static,value:l}):n===wp.Param||n===wp.ParamRegExp||n===wp.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Cp.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===Ap.Static+Ap.Segment?1:-1:0}function Pp(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Ip={strict:!1,end:!0,sensitive:!1};function Lp(e,t,n){let r=nf(Mp(Dp(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Rp(e,t){let n=[],r=new Map;t=sf(Ip,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Bp(e);s.aliasOf=r&&r.record;let l=sf(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Bp(nf({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Lp(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Hp(d)&&o(e.name)),Kp(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:af}function o(e){if(ep(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Wp(e,n);n.splice(t,0,e),e.record.name&&!Hp(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw rp(tp.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=nf(zp(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&zp(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw rp(tp.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=nf({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Up(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function zp(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Bp(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Vp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,`mods`,{value:{}}),t}function Vp(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Hp(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Up(e){return e.reduce((e,t)=>nf(e,t.meta),{})}function Wp(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Pp(e,t[i])<0?r=i:n=i+1}let i=Gp(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Gp(e){let t=e;for(;t=t.parent;)if(Kp(t)&&Pp(e,t)===0)return t}function Kp({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qp(e){let t=To(up),n=To(dp),r=K(()=>{let n=M(e.to);return t.resolve(n)}),i=K(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Ff.bind(null,i));if(o>-1)return o;let s=Qp(e[t-2]);return t>1&&Qp(i)===s&&a[a.length-1].path!==s?a.findIndex(Ff.bind(null,e[t-2])):o}),a=K(()=>i.value>-1&&Zp(n.params,r.value.params)),o=K(()=>i.value>-1&&i.value===n.matched.length-1&&If(n.params,r.value.params));function s(n={}){if(Xp(n)){let n=t[M(e.replace)?`replace`:`push`](M(e.to)).catch(af);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:K(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Jp(e){return e.length===1?e[0]:e}var Yp=F({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:qp,setup(e,{slots:t}){let n=Rn(qp(e)),{options:r}=To(up),i=K(()=>({[$p(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[$p(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Jp(t.default(n));return e.custom?r:kc(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Xp(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Zp(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!of(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Qp(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var $p=(e,t,n)=>e??t??n,em=F({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=To(fp),i=K(()=>e.route||r.value),a=To(lp,0),o=K(()=>{let e=M(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=K(()=>i.value.matched[o.value]);wo(lp,K(()=>o.value+1)),wo(cp,s),wo(fp,i);let c=j();return L(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Ff(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return tm(n.default,{Component:l,route:r});let u=o.props[a],d=kc(l,nf({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return tm(n.default,{Component:d,route:r})||d}}});function tm(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var nm=em;function rm(e){let t=Rp(e.routes,e),n=e.parseQuery||ap,r=e.stringifyQuery||op,i=e.history,a=pp(),o=pp(),s=pp(),c=Zn(Bf),l=Bf;$d&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=rf.bind(null,e=>``+e),d=rf.bind(null,Df),f=rf.bind(null,Of);function p(e,n){let r,i;return ep(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=nf({},a||c.value),typeof e==`string`){let r=jf(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return nf(r,o,{params:f(o.params),hash:Of(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=nf({},e,{path:jf(n,e.path,a.path).path});else{let t=nf({},e.params);for(let e in t)t[e]??delete t[e];o=nf({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Mf(r,nf({},e,{hash:Cf(l),path:s.path})),m=i.createHref(p);return nf({fullPath:p,hash:l,query:r===op?sp(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?jf(n,e,c.value.path):nf({},e)}function y(e,t){if(l!==e)return rp(tp.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return te(e)}function x(e){return b(nf(v(e),{replace:!0}))}function ee(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),nf({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function te(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=ee(n,i);if(u)return te(nf(v(u),{state:typeof u==`object`?nf({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Pf(r,i,n)&&(f=rp(tp.NAVIGATION_DUPLICATED,{to:d,from:i}),de(i,i,!0,!1)),(f?Promise.resolve(f):ne(d,i)).catch(e=>ip(e)?ip(e,tp.NAVIGATION_GUARD_REDIRECT)?e:ue(e):T(e,d,i)).then(e=>{if(e){if(ip(e,tp.NAVIGATION_GUARD_REDIRECT))return te(nf({replace:s},v(e.to),{state:typeof e.to==`object`?nf({},a,e.to.state):a,force:o}),t||d)}else e=re(d,i,!0,s,a);return w(d,i,e),e})}function S(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function C(e){let t=me.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ne(e,t){let n,[r,i,s]=gp(e,t);n=hp(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(mp(r,e,t))});let c=S.bind(null,e,t);return n.push(c),E(n).then(()=>{n=[];for(let r of a.list())n.push(mp(r,e,t));return n.push(c),E(n)}).then(()=>{n=hp(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(mp(r,e,t))});return n.push(c),E(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(of(r.beforeEnter))for(let i of r.beforeEnter)n.push(mp(i,e,t));else n.push(mp(r.beforeEnter,e,t));return n.push(c),E(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=hp(s,`beforeRouteEnter`,e,t,C),n.push(c),E(n))).then(()=>{n=[];for(let r of o.list())n.push(mp(r,e,t));return n.push(c),E(n)}).catch(e=>ip(e,tp.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function w(e,t,n){s.list().forEach(r=>C(()=>r(e,t,n)))}function re(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Bf,l=$d?history.state:{};n&&(r||s?i.replace(e.fullPath,nf({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,de(e,t,n,s),ue()}let ie;function ae(){ie||=i.listen((e,t,n)=>{if(!he.listening)return;let r=_(e),a=ee(r,he.currentRoute.value);if(a){te(nf(a,{replace:!0,force:!0}),r).catch(af);return}l=r;let o=c.value;$d&&Zf(Yf(o.fullPath,n.delta),qf()),ne(r,o).catch(e=>ip(e,tp.NAVIGATION_ABORTED|tp.NAVIGATION_CANCELLED)?e:ip(e,tp.NAVIGATION_GUARD_REDIRECT)?(te(nf(v(e.to),{force:!0}),r).then(e=>{ip(e,tp.NAVIGATION_ABORTED|tp.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Vf.pop&&i.go(-1,!1)}).catch(af),Promise.reject()):(n.delta&&i.go(-n.delta,!1),T(e,r,o))).then(e=>{e||=re(r,o,!1),e&&(n.delta&&!ip(e,tp.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Vf.pop&&ip(e,tp.NAVIGATION_ABORTED|tp.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),w(r,o,e)}).catch(af)})}let oe=pp(),se=pp(),ce;function T(e,t,n){ue(e);let r=se.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function le(){return ce&&c.value!==Bf?Promise.resolve():new Promise((e,t)=>{oe.add([e,t])})}function ue(e){return ce||(ce=!e,ae(),oe.list().forEach(([t,n])=>e?n(e):t()),oe.reset()),e}function de(t,n,r,i){let{scrollBehavior:a}=e;if(!$d||!a)return Promise.resolve();let o=!r&&Qf(Yf(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Rr().then(()=>a(t,n,o)).then(e=>e&&Jf(e)).catch(e=>T(e,t,n))}let fe=e=>i.go(e),pe,me=new Set,he={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:fe,back:()=>fe(-1),forward:()=>fe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:se.add,isReady:le,install(e){e.component(`RouterLink`,Yp),e.component(`RouterView`,nm),e.config.globalProperties.$router=he,Object.defineProperty(e.config.globalProperties,`$route`,{enumerable:!0,get:()=>M(c)}),$d&&!pe&&c.value===Bf&&(pe=!0,b(i.location).catch(e=>{}));let t={};for(let e in Bf)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(up,he),e.provide(dp,zn(t)),e.provide(fp,c);let n=e.unmount;me.add(e),e.unmount=function(){me.delete(e),me.size<1&&(l=Bf,ie&&ie(),ie=null,c.value=Bf,pe=!1,ce=!1),n()}}};function E(e){return e.reduce((e,t)=>e.then(()=>C(t)),Promise.resolve())}return he}function im(e){return To(dp)}var am=Rn(Qd);const om=()=>am,sm={meta:``,ctrl:``,alt:``,win:`⊞`,command:`⌘`,shift:`⇧`,control:`⌃`,option:`⌥`,enter:`↵`,delete:`⌦`,backspace:`⌫`,escape:`Esc`,tab:`⇥`,capslock:`⇪`,arrowup:`↑`,arrowright:`→`,arrowdown:`↓`,arrowleft:`←`,pageup:`⇞`,pagedown:`⇟`,home:`↖`,end:`↘`},cm=ad(()=>{let e=K(()=>navigator&&navigator.userAgent&&navigator.userAgent.match(/Macintosh;/)),t=Rn({meta:` `,alt:` `,ctrl:` `});_a(()=>{t.meta=e.value?sm.command:`Ctrl`,t.ctrl=e.value?sm.control:`Ctrl`,t.alt=e.value?sm.option:`Alt`});function n(e){if(e)return[`meta`,`alt`,`ctrl`].includes(e)?t[e]:sm[e]||e}return{macOS:e,getKbdKey:n}});function lm(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function um(e,t,n=`.`,r){if(!lm(t))return um(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:lm(a)&&lm(i[t])?i[t]=um(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function dm(e){return(...t)=>t.reduce((t,n)=>um(t,n,``,e),{})}var fm=dm();function pm(e){return fm(e,{dir:`ltr`})}function mm(e){return typeof e==`string`?`'${e}'`:new hm().serialize(e)}var hm=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function gm(e,t){return e===t||mm(e)===mm(t)}function _m(e,t){return vm(ym(e),ym(t))}function vm(e,t){let n=[],r=new Set([...Object.keys(e.props||{}),...Object.keys(t.props||{})]);if(e.props&&t.props)for(let i of r){let r=e.props[i],a=t.props[i];r&&a?n.push(...vm(e.props?.[i],t.props?.[i])):(r||a)&&n.push(new bm((a||r).key,r?`removed`:`added`,a,r))}return r.size===0&&e.hash!==t.hash&&n.push(new bm((t||e).key,`changed`,t,e)),n}function ym(e,t=``){if(e&&typeof e!=`object`)return new xm(t,e,mm(e));let n={},r=[];for(let i in e)n[i]=ym(e[i],t?`${t}.${i}`:i),r.push(n[i].hash);return new xm(t,e,`{${r.join(`:`)}}`,n)}var bm=class{constructor(e,t,n,r){this.key=e,this.type=t,this.newValue=n,this.oldValue=r}toString(){return this.toJSON()}toJSON(){switch(this.type){case`added`:return`Added \`${this.key}\``;case`removed`:return`Removed \`${this.key}\``;case`changed`:return`Changed \`${this.key}\` from \`${this.oldValue?.toString()||`-`}\` to \`${this.newValue.toString()}\``}}},xm=class{constructor(e,t,n,r){this.key=e,this.value=t,this.hash=n,this.props=r}toString(){return this.props?`{${Object.keys(this.props).join(`,`)}}`:JSON.stringify(this.value)}toJSON(){let e=this.key||`.`;return this.props?`${e}({${Object.keys(this.props).join(`,`)}})`:`${e}(${this.value})`}};function Sm(e,t){let n={...e};for(let e of t)delete n[e];return n}function Cm(e,t,n){typeof t==`string`&&(t=t.split(`.`).map(e=>{let t=Number(e);return Number.isNaN(t)?e:t}));let r=e;for(let e of t){if(r==null)return n;r=r[e]}return r===void 0?n:r}function wm(e,t){return!e&&!t?``:[...Array.isArray(e)?e:[e],t].filter(Boolean)}function Tm(e){return(t,n)=>Em(t,n,M(e))}function Em(e,t,n){return Cm(n,`messages.${e}`,e).replace(/\{(\w+)\}/g,(e,n)=>`${t?.[n]??`{${n}}`}`)}function Dm(e){return{lang:K(()=>M(e).name),code:K(()=>M(e).code),dir:K(()=>M(e).dir),locale:Xn(e)?e:j(e),t:Tm(e)}}var Om=pm({name:`English`,code:`en`,messages:{alert:{close:`Close`},authForm:{hidePassword:`Hide password`,showPassword:`Show password`,submit:`Continue`},banner:{close:`Close`},calendar:{nextMonth:`Next month`,nextYear:`Next year`,prevMonth:`Previous month`,prevYear:`Previous year`},carousel:{dots:`Choose slide to display`,goto:`Go to slide {slide}`,next:`Next`,prev:`Prev`},chatPrompt:{placeholder:`Type your message here…`},chatPromptSubmit:{label:`Send prompt`},colorMode:{dark:`Dark`,light:`Light`,switchToDark:`Switch to dark mode`,switchToLight:`Switch to light mode`,system:`System`},commandPalette:{back:`Back`,close:`Close`,noData:`No data`,noMatch:`No matching data`,placeholder:`Type a command or search…`},contentSearch:{links:`Links`,theme:`Theme`},contentSearchButton:{label:`Search…`},contentToc:{title:`On this page`},dashboardSearch:{theme:`Theme`},dashboardSearchButton:{label:`Search…`},dashboardSidebarCollapse:{collapse:`Collapse sidebar`,expand:`Expand sidebar`},dashboardSidebarToggle:{close:`Close sidebar`,open:`Open sidebar`},error:{clear:`Back to home`},fileUpload:{removeFile:`Remove {filename}`},header:{close:`Close menu`,open:`Open menu`},inputMenu:{create:`Create "{label}"`,noData:`No data`,noMatch:`No matching data`},inputNumber:{decrement:`Decrement`,increment:`Increment`},modal:{close:`Close`},pricingTable:{caption:`Pricing plan comparison`},prose:{codeCollapse:{closeText:`Collapse`,name:`code`,openText:`Expand`},collapsible:{closeText:`Hide`,name:`properties`,openText:`Show`},pre:{copy:`Copy code to clipboard`}},selectMenu:{create:`Create "{label}"`,noData:`No data`,noMatch:`No matching data`,search:`Search…`},slideover:{close:`Close`},table:{noData:`No data`},toast:{close:`Close`}}});const km=Symbol.for(`nuxt-ui.locale-context`),Am=ad(e=>{let t=e||cr(To(km,Om));return Dm(K(()=>t.value||Om))});var jm={};const Mm=(e,t)=>{if(jm[e])return jm[e];let n=j(t());return jm[e]=n,n};var Nm=u();function Pm(){return{isHydrating:!0,payload:{serverRendered:!1},hooks:Nm,hook:Nm.hook}}function Fm(e){return{install(t){t.runWithContext(()=>e({vueApp:t}))}}}var Im=[50,100,200,300,400,500,600,700,800,900,950];function Lm(e,t){return e in td&&typeof td[e]==`object`&&t in td[e]?td[e][t]:``}function Rm(e,t,n){let r=n?`${n}-`:``;return`${Im.map(n=>`--ui-color-${e}-${n}: var(--${r}color-${t===`neutral`?`old-neutral`:t}-${n}, ${Lm(t,n)});`).join(` + `)}`}function zm(e,t){return`--ui-${e}: var(--ui-color-${e}-${t});`}var Bm=Fm(()=>{let e=om(),t=Pm(),n=K(()=>{let{neutral:t,...n}=e.ui.colors,r=e.ui.prefix;return`@layer theme { + :root, :host { + ${Object.entries(e.ui.colors).map(([e,t])=>Rm(e,t,r)).join(` + `)} + } + :root, :host, .light { + ${Object.keys(n).map(e=>zm(e,500)).join(` + `)} + } + .dark { + ${Object.keys(n).map(e=>zm(e,400)).join(` + `)} + } +}`}),r={style:[{innerHTML:()=>n.value,tagPriority:-2,id:`nuxt-ui-colors`}]};if(t.isHydrating&&!t.payload.serverRendered){let e=document.createElement(`style`);e.innerHTML=n.value,e.setAttribute(`data-nuxt-ui-colors`,``),document.head.appendChild(e),r.script=[{innerHTML:`document.head.removeChild(document.querySelector('[data-nuxt-ui-colors]'))`}]}Zu(r)}),Vm={install(){Zd()}},Hm={install(e){e.use(ed),e.use(Bm),e.use(Vm)}};function Um(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=To(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(wo(r,e),e)]}function Wm(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Gm(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Km(e){return e==null}function qm(e){return e?e.flatMap(e=>e.type===R?qm(e.children):[e]):[]}var[Jm,Ym]=Um(`ConfigProvider`),Xm=F({inheritAttrs:!1,__name:`ConfigProvider`,props:{dir:{type:String,required:!1,default:`ltr`},locale:{type:String,required:!1,default:`en`},scrollBody:{type:[Boolean,Object],required:!1,default:!0},nonce:{type:String,required:!1,default:void 0},useId:{type:Function,required:!1,default:void 0}},setup(e){let t=e,{dir:n,locale:r,scrollBody:i,nonce:a}=ar(t);return Ym({dir:n,locale:r,scrollBody:i,nonce:a,useId:t.useId}),(e,t)=>I(e.$slots,`default`)}});function Zm(e,t){let n=Zn();return ko(()=>{n.value=e()},{...t,flush:t?.flush??`sync`}),Bn(n)}function Qm(e){return bt()?(xt(e),!0):!1}function $m(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Qm(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function eh(e){let t=!1,n,r=yt(!0);return(...i)=>(t||=(n=r.run(()=>e(...i)),!0),n)}function th(e){let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return(...a)=>(t+=1,r||(r=yt(!0),n=r.run(()=>e(...a))),Qm(i),n)}var nh=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var rh=e=>e!==void 0,ih=Object.prototype.toString,ah=e=>ih.call(e)===`[object Object]`,oh=()=>{},sh=ch();function ch(){return nh&&(window==null?void 0:window.navigator)?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||(window==null?void 0:window.navigator)?.maxTouchPoints>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function lh(e){return e||lc()}function uh(e){return Array.isArray(e)?e:[e]}function dh(e,t=1e4){return ir((n,r)=>{let i=N(e),a,o=()=>setTimeout(()=>{i=N(e),r()},N(t));return Qm(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function fh(e,t){lh(t)&&ba(e,t)}function ph(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=Zn(!1),o=null;function s(){o&&=(clearTimeout(o),null)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=null,e(...n)},N(t))}return r&&(a.value=!0,nh&&l()),Qm(c),{isPending:Bn(a),start:l,stop:c}}function mh(e=1e3,t={}){let{controls:n=!1,callback:r}=t,i=ph(r??oh,e,t),a=K(()=>!i.isPending.value);return n?{ready:a,...i}:a}function hh(e,t,n){return L(e,t,{...n,immediate:!0})}var gh=nh?window:void 0;nh&&window.document,nh&&window.navigator,nh&&window.location;function _h(e){let t=N(e);return t?.$el??t}function vh(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),i=K(()=>{let t=uh(N(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),a=hh(()=>[i.value?.map(e=>_h(e))??[gh].filter(e=>e!=null),uh(N(i.value?e[1]:e[0])),uh(M(i.value?e[2]:e[1])),N(i.value?e[3]:e[2])],([e,i,a,o])=>{if(n(),!e?.length||!i?.length||!a?.length)return;let s=ah(o)?{...o}:o;t.push(...e.flatMap(e=>i.flatMap(t=>a.map(n=>r(e,t,n,s)))))},{flush:`post`});return Qm(n),()=>{a(),n()}}function yh(){let e=Zn(!1),t=lc();return t&&_a(()=>{e.value=!0},t),e}function bh(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function xh(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=gh,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=bh(t);return vh(i,a,e=>{e.repeat&&N(s)||c(e)&&n(e)},o)}function Sh(e,t={}){let{immediate:n=!0,fpsLimit:r=void 0,window:i=gh,once:a=!1}=t,o=Zn(!1),s=K(()=>r?1e3/N(r):null),c=0,l=null;function u(t){if(!o.value||!i)return;c||=t;let n=t-c;if(s.value&&ni?typeof i==`function`?i(e):Ch(e):e,m=()=>rh(e[t])?p(e[t]):c,h=e=>{l?l(e)&&d(f,e):d(f,e)};if(a){let n=j(m()),r=!1;return L(()=>e[t],e=>{r||(r=!0,n.value=p(e),Rr(()=>r=!1))}),L(n,n=>{!r&&(n!==e[t]||s)&&h(n)},{deep:s}),n}else return K({get(){return m()},set(e){h(e)}})}var Th=th(()=>{let e=j(new Map),t=j(),n=K(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=Jm({scrollBody:j(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,sh&&i?.(),t.value=void 0};return L(n,(e,n)=>{if(!nh)return;if(!e){n&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);let o=window.innerWidth-document.documentElement.clientWidth,s={padding:o,margin:0},c=r.scrollBody?.value?typeof r.scrollBody.value==`object`?fm({padding:r.scrollBody.value.padding===!0?o:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?o:r.scrollBody.value.margin},s):s:{padding:0,margin:0};o>0&&(document.body.style.paddingRight=typeof c.padding==`number`?`${c.padding}px`:String(c.padding),document.body.style.marginRight=typeof c.margin==`number`?`${c.margin}px`:String(c.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${o}px`),document.body.style.overflow=`hidden`),sh&&(i=vh(document,`touchmove`,e=>Oh(e),{passive:!1})),Rr(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function Eh(e){let t=Math.random().toString(36).substring(2,7),n=Th();n.value.set(t,e??!1);let r=K({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return fh(()=>{n.value.delete(t)}),r}function Dh(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function kh(e){let t=lc(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[Ge(Ve(t))]=(...n)=>e(t,...n)}),r}function q(){let e=lc(),t=j(),n=K(()=>[`#text`,`#comment`].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:_h(t)),r=Object.assign({},e.exposed),i={};for(let t in e.props)Object.defineProperty(i,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(r).length>0)for(let e in r)Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>r[e]});Object.defineProperty(i,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=i;function a(n){t.value=n,n&&(Object.defineProperty(i,`$el`,{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),e.exposed=i)}return{forwardRef:a,currentRef:t,currentElement:n}}function Ah(e){let t=lc(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=cr(e);return K(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[Ve(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function jh(e,t){let n=Ah(e),r=t?kh(t):{};return K(()=>({...n.value,...r}))}function Mh(e,t){let n=dh(!1,300),r=j(null),i=$m();function a(){r.value=null,n.value=!1}function o(e,t){let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=Ph(a,Nh(a,i.getBoundingClientRect())),s=Fh(t.getBoundingClientRect());r.value=Lh([...o,...s]),n.value=!0}return ko(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),ko(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!Ih(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Nh(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Ph(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Fh(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Ih(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;er!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Lh(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y?1:0),Rh(t)}function Rh(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var zh=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Bh=new WeakMap,Vh=new WeakMap,Hh={},Uh=0,Wh=function(e){return e&&(e.host||Wh(e.parentNode))},Gh=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Wh(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Kh=function(e,t,n,r){var i=Gh(t,Array.isArray(e)?e:[e]);Hh[n]||(Hh[n]=new WeakMap);var a=Hh[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Bh.get(e)||0)+1,l=(a.get(e)||0)+1;Bh.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Vh.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Uh++,function(){o.forEach(function(e){var t=Bh.get(e)-1,i=a.get(e)-1;Bh.set(e,t),a.set(e,i),t||(Vh.has(e)||e.removeAttribute(r),Vh.delete(e)),i||e.removeAttribute(n)}),Uh--,Uh||(Bh=new WeakMap,Bh=new WeakMap,Vh=new WeakMap,Hh={})}},qh=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||zh(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Kh(r,i,n,`aria-hidden`)):function(){return null}};function Jh(e){let t;L(()=>_h(e),e=>{e?t=qh(e):t&&t()}),xa(()=>{t&&t()})}var Yh=0;function Xh(e,t=`reka`){if(e)return e;if(`useId`in Gu)return`${t}-${Mi?.()}`;let n=Jm({useId:void 0});return n.useId?`${t}-${n.useId()}`:`${t}-${++Yh}`}function Zh(e){let t=j(),n=K(()=>t.value?.width??0),r=K(()=>t.value?.height??0);return _a(()=>{let n=_h(e);if(n){t.value={width:n.offsetWidth,height:n.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}});return e.observe(n,{box:`border-box`}),()=>e.unobserve(n)}else t.value=void 0}),{width:n,height:r}}function Qh(e,t){let n=j(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function $h(e,t){let n=j({}),r=j(`none`),i=j(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??gh,{state:c,dispatch:l}=Qh(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(nh){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};L(e,async(e,i)=>{let a=i!==e;if(await Rr(),a){let a=r.value,o=eg(t.value);e?(l(`MOUNT`),u(`enter`),o===`none`&&u(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(l(`UNMOUNT`),u(`leave`),u(`after-leave`)):i&&a!==o?(l(`ANIMATION_OUT`),u(`leave`)):(l(`UNMOUNT`),u(`after-leave`))}},{immediate:!0});let d=e=>{let n=eg(t.value),r=n.includes(CSS.escape(e.animationName)),a=c.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(u(`after-${a}`),l(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&l(`ANIMATION_END`)},f=e=>{e.target===t.value&&(r.value=eg(t.value))},p=L(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,f),e.addEventListener(`animationcancel`,d),e.addEventListener(`animationend`,d)):(l(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,f),t?.removeEventListener(`animationcancel`,d),t?.removeEventListener(`animationend`,d))},{immediate:!0}),m=L(c,()=>{let e=eg(t.value);r.value=c.value===`mounted`?e:`none`});return xa(()=>{p(),m()}),{isPresent:K(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function eg(e){return e&&getComputedStyle(e).animationName||`none`}var tg=F({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=ar(e),a=j(),{isPresent:o}=$h(r,a);n({present:o});let s=t.default({present:o.value});s=qm(s||[]);let c=lc();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(` +`)].join(` +`))}return()=>i.value||r.value||o.value?kc(t.default({present:o.value})[0],{ref:e=>{let t=_h(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),ng=F({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=qm(n.default()),r=e.findIndex(e=>e.type!==Ls);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?G(t,i.props):t,o=Qs({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),rg=[`area`,`img`,`input`],ig=F({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&rg.includes(r)?()=>kc(r,t):r===`template`?()=>kc(ng,t,{default:n.default}):()=>kc(e.as,t,{default:n.default})}});function ag(){let e=j();return{primitiveElement:e,currentElement:K(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:_h(e))}}var[og,sg]=Um(`CollapsibleRoot`),cg=F({__name:`CollapsibleRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=wh(r,`open`,n,{defaultValue:r.defaultOpen,passive:r.open===void 0}),{disabled:a,unmountOnHide:o}=ar(r);return sg({contentId:``,disabled:a,open:i,unmountOnHide:o,onOpenToggle:()=>{a.value||(i.value=!i.value)}}),t({open:i}),q(),(e,t)=>(z(),V(M(ig),{as:e.as,"as-child":r.asChild,"data-state":M(i)?`open`:`closed`,"data-disabled":M(a)?``:void 0},{default:P(()=>[I(e.$slots,`default`,{open:M(i)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),lg=F({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(e,{emit:t}){let n=e,r=t,i=og();i.contentId||=Xh(void 0,`reka-collapsible-content`);let a=j(),{forwardRef:o,currentElement:s}=q(),c=j(0),l=j(0),u=K(()=>i.open.value),d=j(u.value),f=j();L(()=>[u.value,a.value?.present],async()=>{await Rr();let e=s.value;if(!e)return;f.value=f.value||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();l.value=t.height,c.value=t.width,d.value||(e.style.transitionDuration=f.value.transitionDuration,e.style.animationName=f.value.animationName)},{immediate:!0});let p=K(()=>d.value&&i.open.value);return _a(()=>{requestAnimationFrame(()=>{d.value=!1})}),vh(s,`beforematch`,e=>{requestAnimationFrame(()=>{i.onOpenToggle(),r(`contentFound`)})}),(e,t)=>(z(),V(M(tg),{ref_key:`presentRef`,ref:a,present:e.forceMount||M(i).open.value,"force-mount":!0},{default:P(({present:t})=>[U(M(ig),G(e.$attrs,{id:M(i).contentId,ref:M(o),"as-child":n.asChild,as:e.as,hidden:t?void 0:M(i).unmountOnHide.value?``:`until-found`,"data-state":p.value?void 0:M(i).open.value?`open`:`closed`,"data-disabled":M(i).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${l.value}px`,"--reka-collapsible-content-width":`${c.value}px`}}),{default:P(()=>[!M(i).unmountOnHide.value||t?I(e.$slots,`default`,{key:0}):W(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),ug=F({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;q();let n=og();return(e,r)=>(z(),V(M(ig),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,"aria-controls":M(n).contentId,"aria-expanded":M(n).open.value,"data-state":M(n).open.value?`open`:`closed`,"data-disabled":M(n).disabled?.value?``:void 0,disabled:M(n).disabled?.value,onClick:M(n).onOpenToggle},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),[dg,fg]=Um(`DialogRoot`),pg=F({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=wh(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o}=ar(n);return fg({open:r,modal:o,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>I(e.$slots,`default`,{open:M(r),close:()=>r.value=!1})}}),mg=F({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;q();let n=dg();return(e,r)=>(z(),V(M(ig),G(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>M(n).onOpenChange(!1)}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`type`]))}}),hg=`dismissableLayer.pointerDownOutside`,gg=`dismissableLayer.focusOutside`;function _g(e,t){let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r){});return ko(o=>{if(!nh||!N(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(_g(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){Gm(hg,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{N(n)&&(i.value=!0)}}}function yg(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=j(!1);return ko(a=>{if(!nh||!N(n))return;let o=async n=>{if(!t?.value)return;await Rr(),await Rr();let r=n.target;!t.value||!r||_g(t.value,r)||n.target&&!i.value&&Gm(gg,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{N(n)&&(i.value=!0)},onBlurCapture:()=>{N(n)&&(i.value=!1)}}}var bg=Rn({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),xg=F({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=q(),o=K(()=>a.value?.ownerDocument??globalThis.document),s=K(()=>bg.layersRoot),c=K(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=K(()=>bg.layersWithOutsidePointerEventsDisabled.size>0),u=K(()=>{let e=Array.from(s.value),[t]=[...bg.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=vg(async e=>{let t=[...bg.branches].some(t=>t?.contains(e.target));!u.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await Rr(),e.defaultPrevented||r(`dismiss`))},a),f=yg(e=>{[...bg.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);xh(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))});let p;return ko(e=>{a.value&&(n.disableOutsidePointerEvents&&(bg.layersWithOutsidePointerEventsDisabled.size===0&&(p=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),bg.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&bg.layersWithOutsidePointerEventsDisabled.size===1&&(o.value.body.style.pointerEvents=p)}))}),ko(e=>{e(()=>{a.value&&(s.value.delete(a.value),bg.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(z(),V(M(ig),{ref:M(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:et({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:M(f).onFocusCapture,onBlurCapture:M(f).onBlurCapture,onPointerdownCapture:M(d).onPointerDownCapture},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Sg=F({__name:`DismissableLayerBranch`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=q();return _a(()=>{bg.branches.add(r.value)}),xa(()=>{bg.branches.delete(r.value)}),(e,r)=>(z(),V(M(ig),G({ref:M(n)},t),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),Cg=eh(()=>j([]));function wg(){let e=Cg();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Tg(e.value,t),e.value.unshift(t)},remove(t){e.value=Tg(e.value,t),e.value[0]?.resume()}}}function Tg(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Eg(e){return e.filter(e=>e.tagName!==`A`)}var Dg=`focusScope.autoFocusOnMount`,Og=`focusScope.autoFocusOnUnmount`,kg={bubbles:!1,cancelable:!0};function Ag(e,{select:t=!1}={}){let n=Wm();for(let r of e)if(Ig(r,{select:t}),Wm()!==n)return!0}function jg(e){let t=Mg(e);return[Ng(t,e),Ng(t.reverse(),e)]}function Mg(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ng(e,t){for(let n of e)if(!Pg(n,{upTo:t}))return n}function Pg(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Fg(e){return e instanceof HTMLInputElement&&`select`in e}function Ig(e,{select:t=!1}={}){if(e&&e.focus){let n=Wm();e.focus({preventScroll:!0}),e!==n&&Fg(e)&&t&&e.select()}}var Lg=F({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=q(),o=j(null),s=wg(),c=Rn({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});ko(e=>{if(!nh)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Ig(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Ig(o.value,{select:!0}))}function s(e){t.contains(o.value)||Ig(t)}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})}),ko(async e=>{let t=a.value;if(await Rr(),!t)return;s.add(c);let n=Wm();if(!t.contains(n)){let e=new CustomEvent(Dg,kg);t.addEventListener(Dg,e=>r(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Ag(Eg(Mg(t)),{select:!0}),Wm()===n&&Ig(t))}e(()=>{t.removeEventListener(Dg,e=>r(`mountAutoFocus`,e));let e=new CustomEvent(Og,kg),i=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Og,i),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||Ig(n??document.body,{select:!0}),t.removeEventListener(Og,i),s.remove(c)},0)})});function l(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Wm();if(t&&r){let t=e.currentTarget,[i,a]=jg(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Ig(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Ig(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(z(),V(M(ig),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:l},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Rg=[`Enter`,` `],zg=[`ArrowDown`,`PageUp`,`Home`],Bg=[`ArrowUp`,`PageDown`,`End`];[...zg,...Bg],[...Rg],[...Rg];function Vg(e){return e?`open`:`closed`}var Hg=F({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=dg(),{forwardRef:a,currentElement:o}=q();return i.titleId||=Xh(void 0,`reka-dialog-title`),i.descriptionId||=Xh(void 0,`reka-dialog-description`),_a(()=>{i.contentElement=o,Wm()!==document.body&&(i.triggerElement.value=Wm())}),(e,t)=>(z(),V(M(Lg),{"as-child":``,loop:``,trapped:n.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:P(()=>[U(M(xg),G({id:M(i).contentId,ref:M(a),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":M(i).descriptionId,"aria-labelledby":M(i).titleId,"data-state":M(Vg)(M(i).open.value)},e.$attrs,{onDismiss:t[0]||=e=>M(i).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>r(`focusOutside`,e),onInteractOutside:t[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>r(`pointerDownOutside`,e)}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),Ug=F({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=dg(),a=kh(r),{forwardRef:o,currentElement:s}=q();return Jh(s),(e,t)=>(z(),V(Hg,G({...n,...M(a)},{ref:M(o),"trap-focus":M(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),M(i).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Wg=F({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=kh(t);q();let i=dg(),a=j(!1),o=j(!1);return(e,t)=>(z(),V(Hg,G({...n,...M(r)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||M(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;M(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),Gg=F({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=dg(),a=kh(r),{forwardRef:o}=q();return(e,t)=>(z(),V(M(tg),{present:e.forceMount||M(i).open.value},{default:P(()=>[M(i).modal.value?(z(),V(Ug,G({key:0,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16)):(z(),V(Wg,G({key:1,ref:M(o)},{...n,...M(a),...e.$attrs}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Kg=F({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;q();let n=dg();return(e,r)=>(z(),V(M(ig),G(t,{id:M(n).descriptionId}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),qg=F({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=dg();return Eh(!0),q(),(e,n)=>(z(),V(M(ig),{as:e.as,"as-child":e.asChild,"data-state":M(t).open.value?`open`:`closed`,style:{"pointer-events":`auto`}},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),Jg=F({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=dg(),{forwardRef:n}=q();return(e,r)=>M(t)?.modal.value?(z(),V(M(tg),{key:0,present:e.forceMount||M(t).open.value},{default:P(()=>[U(qg,G(e.$attrs,{ref:M(n),as:e.as,"as-child":e.asChild}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):W(`v-if`,!0)}}),Yg=F({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=yh();return(e,n)=>M(t)||e.forceMount?(z(),V(mi,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[I(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):W(`v-if`,!0)}}),Xg=F({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(z(),V(M(Yg),at(Zs(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),Zg=F({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=dg();return q(),(e,r)=>(z(),V(M(ig),G(t,{id:M(n).titleId}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`id`]))}}),Qg=F({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=dg(),{forwardRef:r,currentElement:i}=q();return n.contentId||=Xh(void 0,`reka-dialog-content`),_a(()=>{n.triggerElement.value=i.value}),(e,i)=>(z(),V(M(ig),G(t,{ref:M(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":M(n).open.value||!1,"aria-controls":M(n).open.value?M(n).contentId:void 0,"data-state":M(n).open.value?`open`:`closed`,onClick:M(n).onOpenToggle}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}}),$g=`data-reka-collection-item`;function e_(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;if(n){let e=j(new Map);i={collectionRef:j(),itemMap:e},wo(r,i)}else i=To(r);let a=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${$g}]`)),r=Array.from(i.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},o=F({name:`CollectionSlot`,setup(e,{slots:t}){let{primitiveElement:n,currentElement:r}=ag();return L(r,()=>{i.collectionRef.value=r.value}),()=>kc(ng,{ref:n},t)}}),s=F({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=ag();return ko(t=>{if(a.value){let n=qn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>kc(ng,{...n,[$g]:``,ref:r},t)}});return{getItems:a,reactiveItems:K(()=>Array.from(i.itemMap.value.values())),itemMapSize:K(()=>i.itemMap.value.size),CollectionSlot:o,CollectionItem:s}}var t_=F({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(z(),V(M(ig),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),[n_,r_]=Um(`PopperRoot`),i_=F({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=j();return r_({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>I(e.$slots,`default`)}}),a_=F({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=q(),i=n_();return Ao(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(z(),V(M(ig),{ref:M(n),as:e.as,"as-child":e.asChild},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),o_={key:0,d:`M0 0L6 6L12 0`},s_={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},c_=F({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return q(),(e,n)=>(z(),V(M(ig),G(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:P(()=>[I(e.$slots,`default`,{},()=>[e.rounded?(z(),B(`path`,s_)):(z(),B(`path`,o_))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}});function l_(e){return e!==null}function u_(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=d_(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function d_(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var f_=[`top`,`right`,`bottom`,`left`],p_=Math.min,m_=Math.max,h_=Math.round,g_=Math.floor,__=e=>({x:e,y:e}),v_={left:`right`,right:`left`,bottom:`top`,top:`bottom`},y_={start:`end`,end:`start`};function b_(e,t,n){return m_(e,p_(t,n))}function x_(e,t){return typeof e==`function`?e(t):e}function S_(e){return e.split(`-`)[0]}function C_(e){return e.split(`-`)[1]}function w_(e){return e===`x`?`y`:`x`}function T_(e){return e===`y`?`height`:`width`}function E_(e){return[`top`,`bottom`].includes(S_(e))?`y`:`x`}function D_(e){return w_(E_(e))}function O_(e,t,n){n===void 0&&(n=!1);let r=C_(e),i=D_(e),a=T_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=N_(o)),[o,N_(o)]}function k_(e){let t=N_(e);return[A_(e),t,A_(t)]}function A_(e){return e.replace(/start|end/g,e=>y_[e])}function j_(e,t,n){let r=[`left`,`right`],i=[`right`,`left`],a=[`top`,`bottom`],o=[`bottom`,`top`];switch(e){case`top`:case`bottom`:return n?t?i:r:t?r:i;case`left`:case`right`:return t?a:o;default:return[]}}function M_(e,t,n,r){let i=C_(e),a=j_(S_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(A_)))),a}function N_(e){return e.replace(/left|right|bottom|top/g,e=>v_[e])}function P_(e){return{top:0,right:0,bottom:0,left:0,...e}}function F_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:P_(e)}function I_(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function L_(e,t,n){let{reference:r,floating:i}=e,a=E_(t),o=D_(t),s=T_(o),c=S_(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(C_(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}var R_=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=L_(l,r,c),f=r,p={},m=0;for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=x_(e,t)||{};if(l==null)return{};let d=F_(u),f={x:n,y:r},p=D_(i),m=T_(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],ee=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),te=ee?ee[y]:0;(!te||!await(o.isElement==null?void 0:o.isElement(ee)))&&(te=s.floating[y]||a.floating[m]);let S=b/2-x/2,C=te/2-h[m]/2-1,ne=p_(d[_],C),w=p_(d[v],C),re=ne,ie=te-h[m]-w,ae=te/2-h[m]/2+S,oe=b_(re,ae,ie),se=!c.arrow&&C_(i)!=null&&ae!==oe&&a.reference[m]/2-(aee<=0)){let e=(i.flip?.index||0)+1,t=ee[e];if(t){let n=u===`alignment`?_!==E_(t):!1,r=C[0]?.overflows[0]>0;if(!n||r)return{data:{index:e,overflows:C},reset:{placement:t}}}let n=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=C.filter(e=>{if(x){let t=E_(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function H_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function U_(e){return f_.some(t=>e[t]>=0)}var W_=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n}=t,{strategy:r=`referenceHidden`,...i}=x_(e,t);switch(r){case`referenceHidden`:{let e=H_(await z_(t,{...i,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:U_(e)}}}case`escaped`:{let e=H_(await z_(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:U_(e)}}}default:return{}}}}};async function G_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=S_(n),s=C_(n),c=E_(n)===`y`,l=[`left`,`top`].includes(o)?-1:1,u=a&&c?-1:1,d=x_(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var K_=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await G_(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},q_=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=x_(e,t),l={x:n,y:r},u=await z_(t,c),d=E_(S_(i)),f=w_(d),p=l[f],m=l[d];if(a){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=p+u[e],r=p-u[t];p=b_(n,p,r)}if(o){let e=d===`y`?`top`:`left`,t=d===`y`?`bottom`:`right`,n=m+u[e],r=m-u[t];m=b_(n,m,r)}let h=s.fn({...t,[f]:p,[d]:m});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[f]:a,[d]:o}}}}}},J_=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=x_(e,t),u={x:n,y:r},d=E_(i),f=w_(d),p=u[f],m=u[d],h=x_(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;pn&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=[`top`,`left`].includes(S_(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);mr&&(m=r)}return{[f]:p,[d]:m}}}},Y_=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=x_(e,t),u=await z_(t,l),d=S_(i),f=C_(i),p=E_(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=p_(h-u[g],v),x=p_(m-u[_],y),ee=!t.middlewareData.shift,te=b,S=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(S=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(te=v),ee&&!f){let e=m_(u.left,0),t=m_(u.right,0),n=m_(u.top,0),r=m_(u.bottom,0);p?S=m-2*(e!==0||t!==0?e+t:m_(u.left,u.right)):te=h-2*(n!==0||r!==0?n+r:m_(u.top,u.bottom))}await c({...t,availableWidth:S,availableHeight:te});let C=await o.getDimensions(s.floating);return m!==C.width||h!==C.height?{reset:{rects:!0}}:{}}}};function X_(){return typeof window<`u`}function Z_(e){return ev(e)?(e.nodeName||``).toLowerCase():`#document`}function Q_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function $_(e){return((ev(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ev(e){return X_()?e instanceof Node||e instanceof Q_(e).Node:!1}function tv(e){return X_()?e instanceof Element||e instanceof Q_(e).Element:!1}function nv(e){return X_()?e instanceof HTMLElement||e instanceof Q_(e).HTMLElement:!1}function rv(e){return!X_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Q_(e).ShadowRoot}function iv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=dv(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&![`inline`,`contents`].includes(i)}function av(e){return[`table`,`td`,`th`].includes(Z_(e))}function ov(e){return[`:popover-open`,`:modal`].some(t=>{try{return e.matches(t)}catch{return!1}})}function sv(e){let t=lv(),n=tv(e)?dv(e):e;return[`transform`,`translate`,`scale`,`rotate`,`perspective`].some(e=>n[e]?n[e]!==`none`:!1)||(n.containerType?n.containerType!==`normal`:!1)||!t&&(n.backdropFilter?n.backdropFilter!==`none`:!1)||!t&&(n.filter?n.filter!==`none`:!1)||[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`].some(e=>(n.willChange||``).includes(e))||[`paint`,`layout`,`strict`,`content`].some(e=>(n.contain||``).includes(e))}function cv(e){let t=pv(e);for(;nv(t)&&!uv(t);){if(sv(t))return t;if(ov(t))return null;t=pv(t)}return null}function lv(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}function uv(e){return[`html`,`body`,`#document`].includes(Z_(e))}function dv(e){return Q_(e).getComputedStyle(e)}function fv(e){return tv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function pv(e){if(Z_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||rv(e)&&e.host||$_(e);return rv(t)?t.host:t}function mv(e){let t=pv(e);return uv(t)?e.ownerDocument?e.ownerDocument.body:e.body:nv(t)&&iv(t)?t:mv(t)}function hv(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=mv(e),i=r===e.ownerDocument?.body,a=Q_(r);if(i){let e=gv(a);return t.concat(a,a.visualViewport||[],iv(r)?r:[],e&&n?hv(e):[])}return t.concat(r,hv(r,[],n))}function gv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function _v(e){let t=dv(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=nv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=h_(n)!==a||h_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function vv(e){return tv(e)?e:e.contextElement}function yv(e){let t=vv(e);if(!nv(t))return __(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=_v(t),o=(a?h_(n.width):n.width)/r,s=(a?h_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var bv=__(0);function xv(e){let t=Q_(e);return!lv()||!t.visualViewport?bv:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Sv(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Q_(e)?!1:t}function Cv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=vv(e),o=__(1);t&&(r?tv(r)&&(o=yv(r)):o=yv(e));let s=Sv(a,n,r)?xv(a):__(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Q_(a),t=r&&tv(r)?Q_(r):r,n=e,i=gv(n);for(;i&&r&&t!==n;){let e=yv(i),t=i.getBoundingClientRect(),r=dv(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Q_(i),i=gv(n)}}return I_({width:u,height:d,x:c,y:l})}function wv(e,t){let n=fv(e).scrollLeft;return t?t.left+n:Cv($_(e)).left+n}function Tv(e,t,n){n===void 0&&(n=!1);let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-(n?0:wv(e,r)),y:r.top+t.scrollTop}}function Ev(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=$_(r),s=t?ov(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=__(1),u=__(0),d=nv(r);if((d||!d&&!a)&&((Z_(r)!==`body`||iv(o))&&(c=fv(r)),nv(r))){let e=Cv(r);l=yv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Tv(o,c,!0):__(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Dv(e){return Array.from(e.getClientRects())}function Ov(e){let t=$_(e),n=fv(e),r=e.ownerDocument.body,i=m_(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=m_(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+wv(e),s=-n.scrollTop;return dv(r).direction===`rtl`&&(o+=m_(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function kv(e,t){let n=Q_(e),r=$_(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=lv();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s,y:c}}function Av(e,t){let n=Cv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=nv(e)?yv(e):__(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function jv(e,t,n){let r;if(t===`viewport`)r=kv(e,n);else if(t===`document`)r=Ov($_(e));else if(tv(t))r=Av(t,n);else{let n=xv(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return I_(r)}function Mv(e,t){let n=pv(e);return n===t||!tv(n)||uv(n)?!1:dv(n).position===`fixed`||Mv(n,t)}function Nv(e,t){let n=t.get(e);if(n)return n;let r=hv(e,[],!1).filter(e=>tv(e)&&Z_(e)!==`body`),i=null,a=dv(e).position===`fixed`,o=a?pv(e):e;for(;tv(o)&&!uv(o);){let t=dv(o),n=sv(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&[`absolute`,`fixed`].includes(i.position)||iv(o)&&!n&&Mv(e,o))?r=r.filter(e=>e!==o):i=t,o=pv(o)}return t.set(e,r),r}function Pv(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ov(t)?[]:Nv(t,this._c):[].concat(n),r],o=a[0],s=a.reduce((e,n)=>{let r=jv(t,n,i);return e.top=m_(r.top,e.top),e.right=p_(r.right,e.right),e.bottom=p_(r.bottom,e.bottom),e.left=m_(r.left,e.left),e},jv(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Fv(e){let{width:t,height:n}=_v(e);return{width:t,height:n}}function Iv(e,t,n){let r=nv(t),i=$_(t),a=n===`fixed`,o=Cv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=__(0);function l(){c.x=wv(i)}if(r||!r&&!a)if((Z_(t)!==`body`||iv(i))&&(s=fv(t)),r){let e=Cv(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Tv(i,s):__(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Lv(e){return dv(e).position===`static`}function Rv(e,t){if(!nv(e)||dv(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return $_(e)===n&&(n=n.ownerDocument.body),n}function zv(e,t){let n=Q_(e);if(ov(e))return n;if(!nv(e)){let t=pv(e);for(;t&&!uv(t);){if(tv(t)&&!Lv(t))return t;t=pv(t)}return n}let r=Rv(e,t);for(;r&&av(r)&&Lv(r);)r=Rv(r,t);return r&&uv(r)&&Lv(r)&&!sv(r)?n:r||cv(e)||n}var Bv=async function(e){let t=this.getOffsetParent||zv,n=this.getDimensions,r=await n(e.floating);return{reference:Iv(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Vv(e){return dv(e).direction===`rtl`}var Hv={convertOffsetParentRelativeRectToViewportRelativeRect:Ev,getDocumentElement:$_,getClippingRect:Pv,getOffsetParent:zv,getElementRects:Bv,getClientRects:Dv,getDimensions:Fv,getScale:yv,isElement:tv,isRTL:Vv};function Uv(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Wv(e,t){let n=null,r,i=$_(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=g_(d),h=g_(i.clientWidth-(u+f)),g=g_(i.clientHeight-(d+p)),_=g_(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:m_(0,p_(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Uv(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Gv(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=vv(e),u=i||a?[...l?hv(l):[],...hv(t)]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Wv(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),p.observe(t));let m,h=c?Cv(e):null;c&&g();function g(){let t=Cv(e);h&&!Uv(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Kv=K_,qv=q_,Jv=V_,Yv=Y_,Xv=W_,Zv=B_,Qv=J_,$v=(e,t,n)=>{let r=new Map,i={platform:Hv,...n},a={...i.platform,_c:r};return R_(e,t,{...i,platform:a})};function ey(e){return typeof e==`object`&&!!e&&`$el`in e}function ty(e){if(ey(e)){let t=e.$el;return ev(t)&&Z_(t)===`#comment`?null:t}return e}function ny(e){return typeof e==`function`?e():M(e)}function ry(e){return{name:`arrow`,options:e,fn(t){let n=ty(ny(e.element));return n==null?{}:Zv({element:n,padding:e.padding}).fn(t)}}}function iy(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ay(e,t){let n=iy(e);return Math.round(t*n)/n}function oy(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=K(()=>ny(n.open)??!0),a=K(()=>ny(n.middleware)),o=K(()=>ny(n.placement)??`bottom`),s=K(()=>ny(n.strategy)??`absolute`),c=K(()=>ny(n.transform)??!0),l=K(()=>ty(e.value)),u=K(()=>ty(t.value)),d=j(0),f=j(0),p=j(s.value),m=j(o.value),h=Zn({}),g=j(!1),_=K(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=ay(u.value,d.value),n=ay(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...iy(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;$v(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function ee(){i.value||(g.value=!1)}return L([a,o,s,i],y,{flush:`sync`}),L([l,u],x,{flush:`sync`}),L(i,ee,{flush:`sync`}),bt()&&xt(b),{x:Vn(d),y:Vn(f),strategy:Vn(p),placement:Vn(m),middlewareData:Vn(h),isPositioned:Vn(g),floatingStyles:_,update:y}}var sy={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[cy,ly]=Um(`PopperContent`),uy=F({inheritAttrs:!1,__name:`PopperContent`,props:eo({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...sy}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=n_(),{forwardRef:a,currentElement:o}=q(),s=j(),c=j(),{width:l,height:u}=Zh(c),d=K(()=>n.side+(n.align===`center`?``:`-${n.align}`)),f=K(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),p=K(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),m=K(()=>({padding:f.value,boundary:p.value.filter(l_),altBoundary:p.value.length>0})),h=K(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),g=Zm(()=>[Kv({mainAxis:n.sideOffset+u.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Jv({...m.value,...h.value}),n.avoidCollisions&&qv({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?Qv():void 0,...m.value}),!n.prioritizePosition&&n.avoidCollisions&&Jv({...m.value,...h.value}),Yv({...m.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),c.value&&ry({element:c.value,padding:n.arrowPadding}),u_({arrowWidth:l.value,arrowHeight:u.value}),n.hideWhenDetached&&Xv({strategy:`referenceHidden`,...m.value})]),{floatingStyles:_,placement:v,isPositioned:y,middlewareData:b,update:x}=oy(K(()=>n.reference??i.anchor.value),s,{strategy:n.positionStrategy,placement:d,whileElementsMounted:(...e)=>Gv(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:g}),ee=K(()=>d_(v.value)[0]),te=K(()=>d_(v.value)[1]);Ao(()=>{y.value&&r(`placed`)});let S=K(()=>b.value.arrow?.centerOffset!==0),C=j(``);return ko(()=>{o.value&&(C.value=window.getComputedStyle(o.value).zIndex)}),ly({placedSide:ee,onArrowChange:e=>c.value=e,arrowX:K(()=>b.value.arrow?.x??0),arrowY:K(()=>b.value.arrow?.y??0),shouldHideArrow:S}),(e,t)=>(z(),B(`div`,{ref_key:`floatingRef`,ref:s,"data-reka-popper-content-wrapper":``,style:et({...M(_),transform:M(y)?M(_).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:C.value,"--reka-popper-transform-origin":[M(b).transformOrigin?.x,M(b).transformOrigin?.y].join(` `),...M(b).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[U(M(ig),G({ref:M(a)},e.$attrs,{"as-child":n.asChild,as:e.as,"data-side":ee.value,"data-align":te.value,style:{animation:M(y)?void 0:`none`}}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}}),dy={top:`bottom`,right:`left`,bottom:`top`,left:`right`},fy=F({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let{forwardRef:t}=q(),n=cy(),r=K(()=>dy[n.placedSide.value]);return(e,i)=>(z(),B(`span`,{ref:e=>{M(n).onArrowChange(e)},style:et({position:`absolute`,left:M(n).arrowX?.value?`${M(n).arrowX?.value}px`:void 0,top:M(n).arrowY?.value?`${M(n).arrowY?.value}px`:void 0,[r.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[M(n).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[M(n).placedSide.value],visibility:M(n).shouldHideArrow.value?`hidden`:void 0})},[U(c_,G(e.$attrs,{ref:M(t),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),py=100,[my,hy]=Um(`ProgressRoot`),gy=e=>typeof e==`number`;function _y(e,t){return Km(e)||gy(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${py} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`),null)}function vy(e){return gy(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${py}\`.`),py)}var yy=F({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:py},getValueLabel:{type:Function,required:!1,default:(e,t)=>gy(e)?`${Math.round(e/t*py)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,r=t;q();let i=wh(n,`modelValue`,r,{passive:n.modelValue===void 0}),a=wh(n,`max`,r,{passive:n.max===void 0});L(()=>i.value,async e=>{let t=_y(e,n.max);t!==e&&(await Rr(),i.value=t)},{immediate:!0}),L(()=>n.max,e=>{let t=vy(n.max);t!==e&&(a.value=t)},{immediate:!0});let o=K(()=>Km(i.value)?`indeterminate`:i.value===a.value?`complete`:`loading`);return hy({modelValue:i,max:a,progressState:o}),(e,t)=>(z(),V(M(ig),{"as-child":e.asChild,as:e.as,"aria-valuemax":M(a),"aria-valuemin":0,"aria-valuenow":gy(M(i))?M(i):void 0,"aria-valuetext":e.getValueText?.(M(i),M(a)),"aria-label":e.getValueLabel(M(i),M(a)),role:`progressbar`,"data-state":o.value,"data-value":M(i)??void 0,"data-max":M(a)},{default:P(()=>[I(e.$slots,`default`,{modelValue:M(i)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),by=F({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=my();return q(),(e,r)=>(z(),V(M(ig),G(t,{"data-state":M(n).progressState.value,"data-value":M(n).modelValue?.value??void 0,"data-max":M(n).max.value}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),xy=F({__name:`ToastAnnounceExclude`,props:{altText:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){return(e,t)=>(z(),V(M(ig),{as:e.as,"as-child":e.asChild,"data-reka-toast-announce-exclude":``,"data-reka-toast-announce-alt":e.altText||void 0},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-reka-toast-announce-alt`]))}}),[Sy,Cy]=Um(`ToastProvider`),wy=F({inheritAttrs:!1,__name:`ToastProvider`,props:{label:{type:String,required:!1,default:`Notification`},duration:{type:Number,required:!1,default:5e3},disableSwipe:{type:Boolean,required:!1},swipeDirection:{type:String,required:!1,default:`right`},swipeThreshold:{type:Number,required:!1,default:50}},setup(e){let t=e,{label:n,duration:r,disableSwipe:i,swipeDirection:a,swipeThreshold:o}=ar(t);e_({isProvider:!0});let s=j(),c=j(0),l=j(!1),u=j(!1);if(t.label&&typeof t.label==`string`&&!t.label.trim())throw Error("Invalid prop `label` supplied to `ToastProvider`. Expected non-empty `string`.");return Cy({label:n,duration:r,disableSwipe:i,swipeDirection:a,swipeThreshold:o,toastCount:c,viewport:s,onViewportChange(e){s.value=e},onToastAdd(){c.value++},onToastRemove(){c.value--},isFocusedToastEscapeKeyDownRef:l,isClosePausedRef:u}),(e,t)=>I(e.$slots,`default`)}}),Ty=F({__name:`ToastAnnounce`,setup(e){let t=Sy(),n=mh(1e3),r=j(!1);return Sh(()=>{r.value=!0}),(e,i)=>M(n)||r.value?(z(),V(M(t_),{key:0},{default:P(()=>[$s(pt(M(t).label.value)+` `,1),I(e.$slots,`default`)]),_:3})):W(`v-if`,!0)}}),Ey=`toast.viewportPause`,Dy=`toast.viewportResume`;function Oy(e,t,n){let r=n.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function ky(e,t,n=0){let r=Math.abs(e.x),i=Math.abs(e.y),a=r>i;return t===`left`||t===`right`?a&&r>n:!a&&i>n}function Ay(e){return e.nodeType===e.ELEMENT_NODE}function jy(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),Ay(e)){let n=e.ariaHidden||e.hidden||e.style.display===`none`,r=e.dataset.rekaToastAnnounceExclude===``;if(!n)if(r){let n=e.dataset.rekaToastAnnounceAlt;n&&t.push(n)}else t.push(...jy(e))}}),t}var[My,Ny]=Um(`ToastRoot`),Py=F({inheritAttrs:!1,__name:`ToastRootImpl`,props:{type:{type:String,required:!1},open:{type:Boolean,required:!1,default:!1},duration:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`close`,`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=q(),{CollectionItem:o}=e_(),s=Sy(),c=j(null),l=j(null),u=K(()=>typeof n.duration==`number`?n.duration:s.duration.value),d=j(0),f=j(u.value),p=j(0),m=j(u.value),h=Sh(()=>{let e=new Date().getTime()-d.value;m.value=Math.max(f.value-e,0)},{fpsLimit:60});function g(e){e<=0||e===1/0||nh&&(window.clearTimeout(p.value),d.value=new Date().getTime(),p.value=window.setTimeout(_,e))}function _(e){let t=e?.pointerType===``;a.value?.contains(Wm())&&t&&s.viewport.value?.focus(),t&&(s.isClosePausedRef.value=!1),r(`close`)}let v=K(()=>a.value?jy(a.value):null);if(n.type&&![`foreground`,`background`].includes(n.type))throw Error("Invalid prop `type` supplied to `Toast`. Expected `foreground | background`.");return ko(e=>{let t=s.viewport.value;if(t){let e=()=>{g(f.value),h.resume(),r(`resume`)},n=()=>{let e=new Date().getTime()-d.value;f.value-=e,window.clearTimeout(p.value),h.pause(),r(`pause`)};return t.addEventListener(Ey,n),t.addEventListener(Dy,e),()=>{t.removeEventListener(Ey,n),t.removeEventListener(Dy,e)}}}),L(()=>[n.open,u.value],()=>{f.value=u.value,n.open&&!s.isClosePausedRef.value&&g(u.value)},{immediate:!0}),xh(`Escape`,e=>{r(`escapeKeyDown`,e),e.defaultPrevented||(s.isFocusedToastEscapeKeyDownRef.value=!0,_())}),_a(()=>{s.onToastAdd()}),xa(()=>{s.onToastRemove()}),Ny({onClose:_}),(e,t)=>(z(),B(R,null,[v.value?(z(),V(Ty,{key:0,role:`alert`,"aria-live":e.type===`foreground`?`assertive`:`polite`,"aria-atomic":`true`},{default:P(()=>[$s(pt(v.value),1)]),_:1},8,[`aria-live`])):W(`v-if`,!0),M(s).viewport.value?(z(),V(mi,{key:1,to:M(s).viewport.value},[U(M(o),null,{default:P(()=>[U(M(ig),G({ref:M(i),role:`alert`,"aria-live":`off`,"aria-atomic":`true`,tabindex:`0`},e.$attrs,{as:e.as,"as-child":e.asChild,"data-state":e.open?`open`:`closed`,"data-swipe-direction":M(s).swipeDirection.value,style:M(s).disableSwipe.value?void 0:{userSelect:`none`,touchAction:`none`},onPointerdown:t[0]||=ku(e=>{M(s).disableSwipe.value||(c.value={x:e.clientX,y:e.clientY})},[`left`]),onPointermove:t[1]||=e=>{if(M(s).disableSwipe.value||!c.value)return;let t=e.clientX-c.value.x,n=e.clientY-c.value.y,i=!!l.value,a=[`left`,`right`].includes(M(s).swipeDirection.value),o=[`left`,`up`].includes(M(s).swipeDirection.value)?Math.min:Math.max,u=a?o(0,t):0,d=a?0:o(0,n),f=e.pointerType===`touch`?10:2,p={x:u,y:d},m={originalEvent:e,delta:p};i?(l.value=p,M(Oy)(M(`toast.swipeMove`),e=>r(`swipeMove`,e),m)):M(ky)(p,M(s).swipeDirection.value,f)?(l.value=p,M(Oy)(M(`toast.swipeStart`),e=>r(`swipeStart`,e),m),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>f||Math.abs(n)>f)&&(c.value=null)},onPointerup:t[2]||=e=>{if(M(s).disableSwipe.value)return;let t=l.value,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),l.value=null,c.value=null,t){let n=e.currentTarget,i={originalEvent:e,delta:t};M(ky)(t,M(s).swipeDirection.value,M(s).swipeThreshold.value)?M(Oy)(M(`toast.swipeEnd`),e=>r(`swipeEnd`,e),i):M(Oy)(M(`toast.swipeCancel`),e=>r(`swipeCancel`,e),i),n?.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}}}),{default:P(()=>[I(e.$slots,`default`,{remaining:m.value,duration:u.value})]),_:3},16,[`as`,`as-child`,`data-state`,`data-swipe-direction`,`style`])]),_:3})],8,[`to`])):W(`v-if`,!0)],64))}}),Fy=F({__name:`ToastClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=My(),{forwardRef:r}=q();return(e,i)=>(z(),V(xy,{"as-child":``},{default:P(()=>[U(M(ig),G(t,{ref:M(r),type:e.as===`button`?`button`:void 0,onClick:M(n).onClose}),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`type`,`onClick`])]),_:3}))}}),Iy=F({__name:`ToastAction`,props:{altText:{type:String,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){if(!e.altText)throw Error("Missing prop `altText` expected on `ToastAction`");let{forwardRef:t}=q();return(e,n)=>e.altText?(z(),V(xy,{key:0,"alt-text":e.altText,"as-child":``},{default:P(()=>[U(Fy,{ref:M(t),as:e.as,"as-child":e.asChild},{default:P(()=>[I(e.$slots,`default`)]),_:3},8,[`as`,`as-child`])]),_:3},8,[`alt-text`])):W(`v-if`,!0)}}),Ly=F({__name:`ToastDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return q(),(e,n)=>(z(),V(M(ig),at(Zs(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),Ry=F({__name:`ToastPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(z(),V(M(Yg),at(Zs(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),zy=F({__name:`ToastRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!0},forceMount:{type:Boolean,required:!1},type:{type:String,required:!1,default:`foreground`},open:{type:Boolean,required:!1,default:void 0},duration:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i}=q(),a=wh(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return(e,t)=>(z(),V(M(tg),{present:e.forceMount||M(a)},{default:P(()=>[U(Py,G({ref:M(i),open:M(a),type:e.type,as:e.as,"as-child":e.asChild,duration:e.duration},e.$attrs,{onClose:t[0]||=e=>a.value=!1,onPause:t[1]||=e=>r(`pause`),onResume:t[2]||=e=>r(`resume`),onEscapeKeyDown:t[3]||=e=>r(`escapeKeyDown`,e),onSwipeStart:t[4]||=e=>{r(`swipeStart`,e),e.defaultPrevented||e.currentTarget.setAttribute(`data-swipe`,`start`)},onSwipeMove:t[5]||=e=>{if(r(`swipeMove`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`move`),r.style.setProperty(`--reka-toast-swipe-move-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-move-y`,`${n}px`)}},onSwipeCancel:t[6]||=e=>{if(r(`swipeCancel`,e),!e.defaultPrevented){let t=e.currentTarget;t.setAttribute(`data-swipe`,`cancel`),t.style.removeProperty(`--reka-toast-swipe-move-x`),t.style.removeProperty(`--reka-toast-swipe-move-y`),t.style.removeProperty(`--reka-toast-swipe-end-x`),t.style.removeProperty(`--reka-toast-swipe-end-y`)}},onSwipeEnd:t[7]||=e=>{if(r(`swipeEnd`,e),!e.defaultPrevented){let{x:t,y:n}=e.detail.delta,r=e.currentTarget;r.setAttribute(`data-swipe`,`end`),r.style.removeProperty(`--reka-toast-swipe-move-x`),r.style.removeProperty(`--reka-toast-swipe-move-y`),r.style.setProperty(`--reka-toast-swipe-end-x`,`${t}px`),r.style.setProperty(`--reka-toast-swipe-end-y`,`${n}px`),a.value=!1}}}),{default:P(({remaining:t,duration:n})=>[I(e.$slots,`default`,{remaining:t,duration:n,open:M(a)})]),_:3},16,[`open`,`type`,`as`,`as-child`,`duration`])]),_:3},8,[`present`]))}}),By=F({__name:`ToastTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return q(),(e,n)=>(z(),V(M(ig),at(Zs(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),Vy=F({__name:`FocusProxy`,emits:[`focusFromOutsideViewport`],setup(e,{emit:t}){let n=t,r=Sy();return(e,t)=>(z(),V(M(t_),{"aria-hidden":`true`,tabindex:`0`,style:{position:`fixed`},onFocus:t[0]||=e=>{let t=e.relatedTarget;M(r).viewport.value?.contains(t)||n(`focusFromOutsideViewport`)}},{default:P(()=>[I(e.$slots,`default`)]),_:3}))}}),Hy=F({inheritAttrs:!1,__name:`ToastViewport`,props:{hotkey:{type:Array,required:!1,default:()=>[`F8`]},label:{type:[String,Function],required:!1,default:`Notifications ({hotkey})`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`ol`}},setup(e){let{hotkey:t,label:n}=ar(e),{forwardRef:r,currentElement:i}=q(),{CollectionSlot:a,getItems:o}=e_(),s=Sy(),c=K(()=>s.toastCount.value>0),l=j(),u=j(),d=K(()=>t.value.join(`+`).replace(/Key/g,``).replace(/Digit/g,``));xh(t.value,()=>{i.value.focus()}),_a(()=>{s.onViewportChange(i.value)}),ko(e=>{let t=i.value;if(c.value&&t){let n=()=>{if(!s.isClosePausedRef.value){let e=new CustomEvent(Ey);t.dispatchEvent(e),s.isClosePausedRef.value=!0}},r=()=>{if(s.isClosePausedRef.value){let e=new CustomEvent(Dy);t.dispatchEvent(e),s.isClosePausedRef.value=!1}},i=e=>{t.contains(e.relatedTarget)||r()},a=()=>{t.contains(Wm())||r()},o=e=>{let n=e.altKey||e.ctrlKey||e.metaKey;if(e.key===`Tab`&&!n){let n=Wm(),r=e.shiftKey;if(e.target===t&&r){l.value?.focus();return}let i=f({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);Ag(i.slice(a+1))?e.preventDefault():r?l.value?.focus():u.value?.focus()}};t.addEventListener(`focusin`,n),t.addEventListener(`focusout`,i),t.addEventListener(`pointermove`,n),t.addEventListener(`pointerleave`,a),t.addEventListener(`keydown`,o),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),e(()=>{t.removeEventListener(`focusin`,n),t.removeEventListener(`focusout`,i),t.removeEventListener(`pointermove`,n),t.removeEventListener(`pointerleave`,a),t.removeEventListener(`keydown`,o),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)})}});function f({tabbingDirection:e}){let t=o().map(e=>e.ref).map(t=>{let n=[t,...Mg(t)];return e===`forwards`?n:n.reverse()});return(e===`forwards`?t.reverse():t).flat()}return(e,t)=>(z(),V(M(Sg),{role:`region`,"aria-label":typeof M(n)==`string`?M(n).replace(`{hotkey}`,d.value):M(n)(d.value),tabindex:`-1`,style:et({pointerEvents:c.value?void 0:`none`})},{default:P(()=>[c.value?(z(),V(Vy,{key:0,ref:e=>{l.value=M(_h)(e)},onFocusFromOutsideViewport:t[0]||=()=>{let e=f({tabbingDirection:`forwards`});M(Ag)(e)}},null,512)):W(`v-if`,!0),U(M(a),null,{default:P(()=>[U(M(ig),G({ref:M(r),tabindex:`-1`,as:e.as,"as-child":e.asChild},e.$attrs),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3}),c.value?(z(),V(Vy,{key:1,ref:e=>{u.value=M(_h)(e)},onFocusFromOutsideViewport:t[1]||=()=>{let e=f({tabbingDirection:`backwards`});M(Ag)(e)}},null,512)):W(`v-if`,!0)]),_:3},8,[`aria-label`,`style`]))}}),Uy=F({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return q(),(e,n)=>(z(),V(M(fy),at(Zs(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),[Wy,Gy]=Um(`TooltipProvider`),Ky=F({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o}=ar(e);q();let s=j(!0),c=j(!1),{start:l,stop:u}=ph(()=>{s.value=!0},n,{immediate:!1});return Gy({isOpenDelayed:s,delayDuration:t,onOpen(){u(),s.value=!1},onClose(){l()},isPointerInTransitRef:c,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a}),(e,t)=>I(e.$slots,`default`)}}),qy=`tooltip.open`,[Jy,Yy]=Um(`TooltipRoot`),Xy=F({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;q();let i=Wy(),a=K(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=K(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=K(()=>n.disabled??i.disabled.value),c=K(()=>n.delayDuration??i.delayDuration.value),l=K(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=wh(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});L(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(qy))):i.onClose())});let d=j(!1),f=j(),p=K(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=ph(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return Yy({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(z(),V(M(i_),null,{default:P(()=>[I(e.$slots,`default`,{open:M(u)})]),_:3}))}}),Zy=F({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1,default:`top`},sideOffset:{type:Number,required:!1,default:0},align:{type:null,required:!1,default:`center`},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:!0},collisionBoundary:{type:null,required:!1,default:()=>[]},collisionPadding:{type:[Number,Object],required:!1,default:0},arrowPadding:{type:Number,required:!1,default:0},sticky:{type:String,required:!1,default:`partial`},hideWhenDetached:{type:Boolean,required:!1,default:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Jy(),{forwardRef:a}=q(),o=Xa(),s=K(()=>o.default?.({})),c=K(()=>{if(n.ariaLabel)return n.ariaLabel;let e=``;function t(n){typeof n.children==`string`&&n.type!==Ls?e+=n.children:Array.isArray(n.children)&&n.children.forEach(e=>t(e))}return s.value?.forEach(e=>t(e)),e}),l=K(()=>{let{ariaLabel:e,...t}=n;return t});return _a(()=>{vh(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()}),vh(window,qy,i.onClose)}),(e,t)=>(z(),V(M(xg),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{M(i).disableClosingTrigger.value&&M(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=ku(()=>{},[`prevent`]),onDismiss:t[3]||=e=>M(i).onClose()},{default:P(()=>[U(M(uy),G({ref:M(a),"data-state":M(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:P(()=>[I(e.$slots,`default`),U(M(t_),{id:M(i).contentId,role:`tooltip`},{default:P(()=>[$s(pt(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),Qy=F({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Ah(e),{forwardRef:n,currentElement:r}=q(),{trigger:i,onClose:a}=Jy(),o=Wy(),{isPointerInTransit:s,onPointerExit:c}=Mh(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),(e,r)=>(z(),V(Zy,G({ref:M(n)},M(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),$y=F({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1,default:`top`},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Jy(),a=jh(n,r),{forwardRef:o}=q();return(e,t)=>(z(),V(M(tg),{present:e.forceMount||M(i).open.value},{default:P(()=>[(z(),V(Aa(M(i).disableHoverableContent.value?Zy:Qy),G({ref:M(o)},M(a)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),eb=F({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(z(),V(M(Yg),at(Zs(t)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16))}}),tb=F({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Jy(),r=Wy();n.contentId||=Xh(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=q(),o=j(!1),s=j(!1),c=K(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});_a(()=>{n.onTriggerChange(a.value)});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||n.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(z(),V(M(a_),{"as-child":``,reference:e.reference},{default:P(()=>[U(M(ig),G({ref:M(i),"aria-describedby":M(n).open.value?M(n).contentId:void 0,"data-state":M(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},La(c.value)),{default:P(()=>[I(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}});const nb=Symbol(`nuxt-ui.portal-target`);function rb(e){let t=To(nb,void 0),n=K(()=>e.value===!0?t?.value:e.value),r=K(()=>typeof n.value==`boolean`?!n.value:!1),i=K(()=>typeof n.value==`boolean`?`body`:n.value);return K(()=>({to:i.value,disabled:r.value}))}const ib=Symbol(`nuxt-ui.toast-max`);function ab(){let e=Mm(`toasts`,()=>[]),t=To(ib,void 0),n=j(!1),r=[],i=()=>`${Date.now()}-${Math.random().toString(36).slice(2,9)}`;async function a(){if(!(n.value||r.length===0)){for(n.value=!0;r.length>0;){let n=r.shift();await Rr(),e.value=[...e.value,n].slice(-(t?.value??5))}n.value=!1}}function o(e){let t={id:i(),open:!0,...e};return r.push(t),a(),t}function s(t,n){let r=e.value.findIndex(e=>e.id===t);r!==-1&&(e.value[r]={...e.value[r],...n})}function c(t){let n=e.value.findIndex(e=>e.id===t);n!==-1&&(e.value[n]={...e.value[n],open:!1}),setTimeout(()=>{e.value=e.value.filter(e=>e.id!==t)},200)}function l(){e.value=[]}return{toasts:e,add:o,update:s,remove:c,clear:l}}var ob=/\s+/g,sb=e=>typeof e!=`string`||!e?e:e.replace(ob,` `).trim(),cb=(...e)=>{let t=[],n=e=>{if(!e&&e!==0&&e!==0n)return;if(Array.isArray(e)){for(let t=0,r=e.length;t0?sb(t.join(` `)):void 0},lb=e=>e===!1?`false`:e===!0?`true`:e===0?`0`:e,ub=e=>{if(!e||typeof e!=`object`)return!0;for(let t in e)return!1;return!0},db=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let r=t[n];n in e?e[n]=cb(e[n],r):e[n]=r}return e},pb=(e,t)=>{for(let n=0;n{let t=[];pb(e,t);let n=[];for(let e=0;e{let n={};for(let r in e){let i=e[r];if(r in t){let e=t[r];Array.isArray(i)||Array.isArray(e)?n[r]=mb(e,i):typeof i==`object`&&typeof e==`object`&&i&&e?n[r]=hb(i,e):n[r]=e+` `+i}else n[r]=i}for(let r in t)r in e||(n[r]=t[r]);return n},gb={twMerge:!0,twMergeConfig:{}};function _b(){let e=null,t={},n=!1;return{get cachedTwMerge(){return e},set cachedTwMerge(t){e=t},get cachedTwMergeConfig(){return t},set cachedTwMergeConfig(e){t=e},get didTwMergeConfigChange(){return n},set didTwMergeConfigChange(e){n=e},reset(){e=null,t={},n=!1}}}var vb=_b(),yb=e=>{let t=(t,n)=>{let{extend:r=null,slots:i={},variants:a={},compoundVariants:o=[],compoundSlots:s=[],defaultVariants:c={}}=t,l={...gb,...n},u=r?.base?cb(r.base,t?.base):t?.base,d=r?.variants&&!ub(r.variants)?hb(a,r.variants):a,f=r?.defaultVariants&&!ub(r.defaultVariants)?{...r.defaultVariants,...c}:c;!ub(l.twMergeConfig)&&!db(l.twMergeConfig,vb.cachedTwMergeConfig)&&(vb.didTwMergeConfigChange=!0,vb.cachedTwMergeConfig=l.twMergeConfig);let p=ub(r?.slots),m=ub(i)?{}:{base:cb(t?.base,p&&r?.base),...i},h=p?m:fb({...r?.slots},ub(m)?{base:t?.base}:m),g=ub(r?.compoundVariants)?o:mb(r?.compoundVariants,o),_=t=>{if(ub(d)&&ub(i)&&p)return e(u,t?.class,t?.className)(l);if(g&&!Array.isArray(g))throw TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof g}`);if(s&&!Array.isArray(s))throw TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof s}`);let n=(e,n=d,r=null,i=null)=>{let a=n[e];if(!a||ub(a))return null;let o=i?.[e]??t?.[e];if(o===null)return null;let s=lb(o);if(typeof s==`object`)return null;let c=f?.[e];return a[(s??lb(c))||`false`]},r=()=>{if(!d)return null;let e=Object.keys(d),t=[];for(let r=0;r{if(!d||typeof d!=`object`)return null;let r=[];for(let i in d){let a=n(i,d,e,t),o=e===`base`&&typeof a==`string`?a:a&&a[e];o&&r.push(o)}return r},o={};for(let e in t){let n=t[e];n!==void 0&&(o[e]=n)}let c=(e,n)=>{let r=typeof t?.[e]==`object`?{[e]:t[e]?.initial}:{};return{...f,...o,...r,...n}},m=(e=[],t)=>{let n=[],r=e.length;for(let i=0;i{let n=m(g,t);if(!Array.isArray(n))return n;let r={},i=e;for(let e=0;e{if(s.length<1)return null;let t={},n=c(null,e);for(let e=0;e{let r=_(t),i=v(t);return n(h[e],a(e,t),r?r[e]:void 0,i?i[e]:void 0,t?.class,t?.className)(l)}}return t}return e(u,r(),m(g),t?.class,t?.className)(l)};return _.variantKeys=(()=>{if(!(!d||typeof d!=`object`))return Object.keys(d)})(),_.extend=r,_.base=u,_.slots=h,_.variants=d,_.defaultVariants=f,_.compoundSlots=s,_.compoundVariants=g,_};return{tv:t,createTV:e=>(n,r)=>t(n,r?hb(e,r):e)}},bb=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),Sb=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Cb=`-`,wb=[],Tb=`arbitrary..`,Eb=e=>{let t=kb(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ob(e);let n=e.split(Cb);return Db(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?bb(i,t):t:i||wb}return n[e]||wb}}},Db=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Db(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Cb):e.slice(t).join(Cb),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Tb+r:void 0})(),kb=e=>{let{theme:t,classGroups:n}=e;return Ab(n,t)},Ab=(e,t)=>{let n=Sb();for(let r in e){let i=e[r];jb(i,n,r,t)}return n},jb=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){Nb(e,t,n);return}if(typeof e==`function`){Pb(e,t,n,r);return}Fb(e,t,n,r)},Nb=(e,t,n)=>{let r=e===``?t:Ib(t,e);r.classGroupId=n},Pb=(e,t,n,r)=>{if(Lb(e)){jb(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(xb(n,e))},Fb=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(Cb),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,Rb=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},zb=`!`,Bb=`:`,Vb=[],Hb=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Ub=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return Hb(t,l,c,u)};if(t){let e=t+Bb,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Hb(Vb,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Wb=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Gb=e=>({cache:Rb(e.cacheSize),parseClassName:Ub(e),sortModifiers:Wb(e),...Eb(e)}),Kb=/\s+/,qb=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Kb),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+zb:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e0?` `+c:c)}return c},Jb=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=Gb(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=qb(e,n);return i(e,a),a};return a=o,(...e)=>a(Jb(...e))},Zb=[],Qb=e=>{let t=t=>t[e]||Zb;return t.isThemeGetter=!0,t},$b=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,tx=/^\d+\/\d+$/,nx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,rx=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ix=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ax=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ox=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,sx=e=>tx.test(e),J=e=>!!e&&!Number.isNaN(Number(e)),cx=e=>!!e&&Number.isInteger(Number(e)),lx=e=>e.endsWith(`%`)&&J(e.slice(0,-1)),ux=e=>nx.test(e),dx=()=>!0,fx=e=>rx.test(e)&&!ix.test(e),px=()=>!1,mx=e=>ax.test(e),hx=e=>ox.test(e),gx=e=>!Y(e)&&!X(e),_x=e=>kx(e,Nx,px),Y=e=>$b.test(e),vx=e=>kx(e,Px,fx),yx=e=>kx(e,Fx,J),bx=e=>kx(e,jx,px),xx=e=>kx(e,Mx,hx),Sx=e=>kx(e,Lx,mx),X=e=>ex.test(e),Cx=e=>Ax(e,Px),wx=e=>Ax(e,Ix),Tx=e=>Ax(e,jx),Ex=e=>Ax(e,Nx),Dx=e=>Ax(e,Mx),Ox=e=>Ax(e,Lx,!0),kx=(e,t,n)=>{let r=$b.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Ax=(e,t,n=!1)=>{let r=ex.exec(e);return r?r[1]?t(r[1]):n:!1},jx=e=>e===`position`||e===`percentage`,Mx=e=>e===`image`||e===`url`,Nx=e=>e===`length`||e===`size`||e===`bg-size`,Px=e=>e===`length`,Fx=e=>e===`number`,Ix=e=>e===`family-name`,Lx=e=>e===`shadow`,Rx=()=>{let e=Qb(`color`),t=Qb(`font`),n=Qb(`text`),r=Qb(`font-weight`),i=Qb(`tracking`),a=Qb(`leading`),o=Qb(`breakpoint`),s=Qb(`container`),c=Qb(`spacing`),l=Qb(`radius`),u=Qb(`shadow`),d=Qb(`inset-shadow`),f=Qb(`text-shadow`),p=Qb(`drop-shadow`),m=Qb(`blur`),h=Qb(`perspective`),g=Qb(`aspect`),_=Qb(`ease`),v=Qb(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),X,Y],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],te=()=>[`auto`,`contain`,`none`],S=()=>[X,Y,c],C=()=>[sx,`full`,`auto`,...S()],ne=()=>[cx,`none`,`subgrid`,X,Y],w=()=>[`auto`,{span:[`full`,cx,X,Y]},cx,X,Y],re=()=>[cx,`auto`,X,Y],ie=()=>[`auto`,`min`,`max`,`fr`,X,Y],ae=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],oe=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],se=()=>[`auto`,...S()],ce=()=>[sx,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...S()],T=()=>[e,X,Y],le=()=>[...b(),Tx,bx,{position:[X,Y]}],ue=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],de=()=>[`auto`,`cover`,`contain`,Ex,_x,{size:[X,Y]}],fe=()=>[lx,Cx,vx],pe=()=>[``,`none`,`full`,l,X,Y],me=()=>[``,J,Cx,vx],he=()=>[`solid`,`dashed`,`dotted`,`double`],E=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ge=()=>[J,lx,Tx,bx],_e=()=>[``,`none`,m,X,Y],ve=()=>[`none`,J,X,Y],ye=()=>[`none`,J,X,Y],be=()=>[J,X,Y],xe=()=>[sx,`full`,...S()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[ux],breakpoint:[ux],color:[dx],container:[ux],"drop-shadow":[ux],ease:[`in`,`out`,`in-out`],font:[gx],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[ux],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[ux],shadow:[ux],spacing:[`px`,J],text:[ux],"text-shadow":[ux],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,sx,Y,X,g]}],container:[`container`],columns:[{columns:[J,Y,X,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:te()}],"overscroll-x":[{"overscroll-x":te()}],"overscroll-y":[{"overscroll-y":te()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{start:C()}],end:[{end:C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[cx,`auto`,X,Y]}],basis:[{basis:[sx,`full`,`auto`,s,...S()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[J,sx,`auto`,`initial`,`none`,Y]}],grow:[{grow:[``,J,X,Y]}],shrink:[{shrink:[``,J,X,Y]}],order:[{order:[cx,`first`,`last`,`none`,X,Y]}],"grid-cols":[{"grid-cols":ne()}],"col-start-end":[{col:w()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":ne()}],"row-start-end":[{row:w()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ie()}],"auto-rows":[{"auto-rows":ie()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...ae(),`normal`]}],"justify-items":[{"justify-items":[...oe(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...oe()]}],"align-content":[{content:[`normal`,...ae()]}],"align-items":[{items:[...oe(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...oe(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...oe(),`baseline`]}],"place-self":[{"place-self":[`auto`,...oe()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:se()}],mx:[{mx:se()}],my:[{my:se()}],ms:[{ms:se()}],me:[{me:se()}],mt:[{mt:se()}],mr:[{mr:se()}],mb:[{mb:se()}],ml:[{ml:se()}],"space-x":[{"space-x":S()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":S()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ce()}],w:[{w:[s,`screen`,...ce()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ce()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ce()]}],h:[{h:[`screen`,`lh`,...ce()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ce()]}],"max-h":[{"max-h":[`screen`,`lh`,...ce()]}],"font-size":[{text:[`base`,n,Cx,vx]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,X,yx]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,lx,Y]}],"font-family":[{font:[wx,Y,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,X,Y]}],"line-clamp":[{"line-clamp":[J,`none`,X,yx]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":[`none`,X,Y]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,X,Y]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...he(),`wavy`]}],"text-decoration-thickness":[{decoration:[J,`from-font`,`auto`,X,vx]}],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[J,`auto`,X,Y]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:S()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,X,Y]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,X,Y]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:le()}],"bg-repeat":[{bg:ue()}],"bg-size":[{bg:de()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},cx,X,Y],radial:[``,X,Y],conic:[cx,X,Y]},Dx,xx]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:pe()}],"rounded-s":[{"rounded-s":pe()}],"rounded-e":[{"rounded-e":pe()}],"rounded-t":[{"rounded-t":pe()}],"rounded-r":[{"rounded-r":pe()}],"rounded-b":[{"rounded-b":pe()}],"rounded-l":[{"rounded-l":pe()}],"rounded-ss":[{"rounded-ss":pe()}],"rounded-se":[{"rounded-se":pe()}],"rounded-ee":[{"rounded-ee":pe()}],"rounded-es":[{"rounded-es":pe()}],"rounded-tl":[{"rounded-tl":pe()}],"rounded-tr":[{"rounded-tr":pe()}],"rounded-br":[{"rounded-br":pe()}],"rounded-bl":[{"rounded-bl":pe()}],"border-w":[{border:me()}],"border-w-x":[{"border-x":me()}],"border-w-y":[{"border-y":me()}],"border-w-s":[{"border-s":me()}],"border-w-e":[{"border-e":me()}],"border-w-t":[{"border-t":me()}],"border-w-r":[{"border-r":me()}],"border-w-b":[{"border-b":me()}],"border-w-l":[{"border-l":me()}],"divide-x":[{"divide-x":me()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":me()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...he(),`hidden`,`none`]}],"divide-style":[{divide:[...he(),`hidden`,`none`]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[...he(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[J,X,Y]}],"outline-w":[{outline:[``,J,Cx,vx]}],"outline-color":[{outline:T()}],shadow:[{shadow:[``,`none`,u,Ox,Sx]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ox,Sx]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:me()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[J,vx]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":me()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":[`none`,f,Ox,Sx]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[J,X,Y]}],"mix-blend":[{"mix-blend":[...E(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":E()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[J]}],"mask-image-linear-from-pos":[{"mask-linear-from":ge()}],"mask-image-linear-to-pos":[{"mask-linear-to":ge()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":ge()}],"mask-image-t-to-pos":[{"mask-t-to":ge()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":ge()}],"mask-image-r-to-pos":[{"mask-r-to":ge()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":ge()}],"mask-image-b-to-pos":[{"mask-b-to":ge()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":ge()}],"mask-image-l-to-pos":[{"mask-l-to":ge()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":ge()}],"mask-image-x-to-pos":[{"mask-x-to":ge()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":ge()}],"mask-image-y-to-pos":[{"mask-y-to":ge()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[X,Y]}],"mask-image-radial-from-pos":[{"mask-radial-from":ge()}],"mask-image-radial-to-pos":[{"mask-radial-to":ge()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[J]}],"mask-image-conic-from-pos":[{"mask-conic-from":ge()}],"mask-image-conic-to-pos":[{"mask-conic-to":ge()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:le()}],"mask-repeat":[{mask:ue()}],"mask-size":[{mask:de()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,X,Y]}],filter:[{filter:[``,`none`,X,Y]}],blur:[{blur:_e()}],brightness:[{brightness:[J,X,Y]}],contrast:[{contrast:[J,X,Y]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ox,Sx]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:[``,J,X,Y]}],"hue-rotate":[{"hue-rotate":[J,X,Y]}],invert:[{invert:[``,J,X,Y]}],saturate:[{saturate:[J,X,Y]}],sepia:[{sepia:[``,J,X,Y]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,X,Y]}],"backdrop-blur":[{"backdrop-blur":_e()}],"backdrop-brightness":[{"backdrop-brightness":[J,X,Y]}],"backdrop-contrast":[{"backdrop-contrast":[J,X,Y]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,J,X,Y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[J,X,Y]}],"backdrop-invert":[{"backdrop-invert":[``,J,X,Y]}],"backdrop-opacity":[{"backdrop-opacity":[J,X,Y]}],"backdrop-saturate":[{"backdrop-saturate":[J,X,Y]}],"backdrop-sepia":[{"backdrop-sepia":[``,J,X,Y]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,X,Y]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[J,`initial`,X,Y]}],ease:[{ease:[`linear`,`initial`,_,X,Y]}],delay:[{delay:[J,X,Y]}],animate:[{animate:[`none`,v,X,Y]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,X,Y]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ve()}],"rotate-x":[{"rotate-x":ve()}],"rotate-y":[{"rotate-y":ve()}],"rotate-z":[{"rotate-z":ve()}],scale:[{scale:ye()}],"scale-x":[{"scale-x":ye()}],"scale-y":[{"scale-y":ye()}],"scale-z":[{"scale-z":ye()}],"scale-3d":[`scale-3d`],skew:[{skew:be()}],"skew-x":[{"skew-x":be()}],"skew-y":[{"skew-y":be()}],transform:[{transform:[X,Y,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:xe()}],"translate-x":[{"translate-x":xe()}],"translate-y":[{"translate-y":xe()}],"translate-z":[{"translate-z":xe()}],"translate-none":[`translate-none`],accent:[{accent:T()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:T()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,X,Y]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,X,Y]}],fill:[{fill:[`none`,...T()]}],"stroke-w":[{stroke:[J,Cx,vx,yx]}],stroke:[{stroke:[`none`,...T()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},zx=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:a={}})=>(Bx(e,`cacheSize`,t),Bx(e,`prefix`,n),Bx(e,`experimentalParseClassName`,r),Vx(e.theme,a.theme),Vx(e.classGroups,a.classGroups),Vx(e.conflictingClassGroups,a.conflictingClassGroups),Vx(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),Bx(e,`orderSensitiveModifiers`,a.orderSensitiveModifiers),Hx(e.theme,i.theme),Hx(e.classGroups,i.classGroups),Hx(e.conflictingClassGroups,i.conflictingClassGroups),Hx(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),Ux(e,i,`orderSensitiveModifiers`),e),Bx=(e,t,n)=>{n!==void 0&&(e[t]=n)},Vx=(e,t)=>{if(t)for(let n in t)Bx(e,n,t[n])},Hx=(e,t)=>{if(t)for(let n in t)Ux(e,t,n)},Ux=(e,t,n)=>{let r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},Wx=(e,...t)=>typeof e==`function`?Xb(Rx,e,...t):Xb(()=>zx(Rx(),e),...t),Gx=Xb(Rx),Kx=e=>ub(e)?Gx:Wx({...e,extend:{theme:e.theme,classGroups:e.classGroups,conflictingClassGroupModifiers:e.conflictingClassGroupModifiers,conflictingClassGroups:e.conflictingClassGroups,...e.extend}}),qx=(e,t)=>{let n=cb(e);return!n||!(t?.twMerge??!0)?n:((!vb.cachedTwMerge||vb.didTwMergeConfigChange)&&(vb.didTwMergeConfigChange=!1,vb.cachedTwMerge=Kx(vb.cachedTwMergeConfig)),vb.cachedTwMerge(n)||void 0)},{createTV:Jx,tv:Yx}=yb((...e)=>t=>qx(e,t));const Xx=Jx(Qd.ui?.tv);var Zx=/^[a-z0-9]+(-[a-z0-9]+)*$/,Qx=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!$x(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!$x(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!$x(e,n)?null:e}return null},$x=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1,eS=Object.freeze({left:0,top:0,width:16,height:16}),tS=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),nS=Object.freeze({...eS,...tS}),rS=Object.freeze({...nS,body:``,hidden:!1});function iS(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function aS(e,t){let n=iS(e,t);for(let r in rS)r in tS?r in e&&!(r in n)&&(n[r]=tS[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function oS(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}function sS(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=aS(r[e]||i[e],a)}return o(t),n.forEach(o),aS(e,a)}function cS(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=oS(e);for(let i in r){let a=r[i];a&&(t(i,sS(e,i,a)),n.push(i))}return n}var lS={provider:``,aliases:{},not_found:{},...eS};function uS(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function dS(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!uS(e,lS))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!uS(t,rS))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!uS(t,rS))return null}return t}var fS=Object.create(null);function pS(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function mS(e,t){let n=fS[e]||(fS[e]=Object.create(null));return n[t]||(n[t]=pS(e,t))}function hS(e,t){return dS(t)?cS(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function gS(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}var _S=!1;function vS(e){return typeof e==`boolean`&&(_S=e),_S}function yS(e){let t=typeof e==`string`?Qx(e,!0,_S):e;if(t){let e=mS(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function bS(e,t){let n=Qx(e,!0,_S);if(!n)return!1;let r=mS(n.provider,n.prefix);return t?gS(r,n.name,t):(r.missing.add(n.name),!0)}function xS(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),_S&&!t&&!e.prefix){let t=!1;return dS(e)&&(e.prefix=``,cS(e,(e,n)=>{bS(e,n)&&(t=!0)})),t}let n=e.prefix;return $x({prefix:n,name:`a`})?!!hS(mS(t,n),e):!1}var SS=Object.freeze({width:null,height:null}),CS=Object.freeze({...SS,...tS}),wS=/(-?[0-9.]*[0-9]+[0-9.]*)/g,TS=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function ES(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(wS);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=TS.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function DS(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(``,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function OS(e,t){return e?``+e+``+t:t}function kS(e,t,n){let r=DS(e);return OS(r.defs,t+r.content+n)}var AS=e=>e===`unset`||e===`undefined`||e===`none`;function jS(e,t){let n={...nS,...e},r={...CS,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=kS(a,``,``))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=ES(d,c/l)):(u=o===`auto`?c:o,d=s===null?ES(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{AS(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}var MS=/\sid="(\S+)"/g,NS=`IconifyId`+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),PS=0;function FS(e,t=NS){let n=[],r;for(;r=MS.exec(e);)n.push(r[1]);if(!n.length)return e;let i=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(n=>{let r=typeof t==`function`?t(n):t+(PS++).toString(),a=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+a+`)([")]|\\.[a-z])`,`g`),`$1`+r+i+`$3`)}),e=e.replace(new RegExp(i,`g`),``),e}var IS=Object.create(null);function LS(e,t){IS[e]=t}function RS(e){return IS[e]||IS[``]}function zS(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var BS=Object.create(null),VS=[`https://api.simplesvg.com`,`https://api.unisvg.com`],HS=[];VS.length>0;)VS.length===1||Math.random()>.5?HS.push(VS.shift()):HS.push(VS.pop());BS[``]=zS({resources:[`https://api.iconify.design`].concat(HS)});function US(e,t){let n=zS(t);return n===null?!1:(BS[e]=n,!0)}function WS(e){return BS[e]}var GS=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function KS(e,t){let n=WS(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{let n=t;e=Math.max(e,n.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function qS(e){return e===404}var JS=(e,t,n)=>{let r=[],i=KS(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function YS(e){if(typeof e==`string`){let t=WS(e);if(t)return t.path}return`/`}var XS={prepare:JS,send:(e,t,n)=>{if(!GS){n(`abort`,424);return}let r=YS(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;GS(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n(qS(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function ZS(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=mS(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}function QS(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function $S(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||QS([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var eC=0;function tC(e,t,n){let r=eC++,i=QS.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function nC(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?Qx(e,t,n):e;i&&r.push(i)}),r}var rC={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function iC(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function y(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function b(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?x():v());return}if(m(),y(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function x(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(y(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{b(i,e,t)}};f.push(i),l++,d=setTimeout(x,e.rotate),n(r,t,i.callback)}return setTimeout(x),_}function aC(e){let t={...rC,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=iC(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function oC(){}var sC=Object.create(null);function cC(e){if(!sC[e]){let t=WS(e);if(!t)return;sC[e]={config:t,redundancy:aC(t)}}return sC[e]}function lC(e,t,n){let r,i;if(typeof e==`string`){let t=RS(e);if(!t)return n(void 0,424),oC;i=t.send;let a=cC(e);a&&(r=a.redundancy)}else{let t=zS(e);if(t){r=aC(t);let n=RS(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),oC):r.query(t,i,n)().abort}function uC(){}function dC(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,$S(e)}))}function fC(e){let t=[],n=[];return e.forEach(e=>{(e.match(Zx)?t:n).push(e)}),{valid:t,invalid:n}}function pC(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!hS(e,n).length){r();return}}catch(e){console.error(e)}r(),dC(e)}function mC(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function hC(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){mC(e.loadIcons(r,n,t),t=>{pC(e,r,t)});return}if(i){r.forEach(r=>{mC(i(r,n,t),t=>{pC(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=fC(r);if(o.length&&pC(e,o,null),!a.length)return;let s=n.match(Zx)?RS(t):null;if(!s){pC(e,a,null);return}s.prepare(t,n,a).forEach(n=>{lC(t,n,t=>{pC(e,n.icons,t)})})}))}var gC=(e,t)=>{let n=ZS(nC(e,!0,vS()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,uC)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(mS(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=mS(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&hC(e,t)}),t?tC(t,n,i):uC};function _C(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in SS?(r===null||r&&(i===`string`||i===`number`))&&(n[e]=r):i===typeof n[e]&&(n[e]=e===`rotate`?r%4:r)}return n}var vC=/[\s,]+/;function yC(e,t){t.split(vC).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0;break}})}function bC(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}else if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}function xC(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return``+e+``}function SC(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(//g,`%3E`).replace(/\s+/g,` `)}function CC(e){return`data:image/svg+xml,`+SC(e)}function wC(e){return`url("`+CC(e)+`")`}var TC={...CS,inline:!1},EC={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,"aria-hidden":!0,role:`img`},DC={display:`inline-block`},OC={backgroundColor:`currentColor`},kC={backgroundColor:`transparent`},AC={Image:`var(--svg)`,Repeat:`no-repeat`,Size:`100% 100%`},jC={webkitMask:OC,mask:OC,background:kC};for(let e in jC){let t=jC[e];for(let n in AC)t[e+n]=AC[n]}var MC={};[`horizontal`,`vertical`].forEach(e=>{let t=e.slice(0,1)+`Flip`;MC[e+`-flip`]=t,MC[e.slice(0,1)+`-flip`]=t,MC[e+`Flip`]=t});function NC(e){return e+(e.match(/^[-0-9.]+$/)?`px`:``)}var PC=(e,t)=>{let n=_C(TC,t),r={...EC},i=t.mode||`svg`,a={},o=t.style,s=typeof o==`object`&&!(o instanceof Array)?o:{};for(let e in t){let i=t[e];if(i!==void 0)switch(e){case`icon`:case`style`:case`onLoad`:case`mode`:case`ssr`:break;case`inline`:case`hFlip`:case`vFlip`:n[e]=i===!0||i===`true`||i===1;break;case`flip`:typeof i==`string`&&yC(n,i);break;case`color`:a.color=i;break;case`rotate`:typeof i==`string`?n[e]=bC(i):typeof i==`number`&&(n[e]=i);break;case`ariaHidden`:case`aria-hidden`:i!==!0&&i!==`true`&&delete r[`aria-hidden`];break;default:{let t=MC[e];t?(i===!0||i===`true`||i===1)&&(n[t]=!0):TC[e]===void 0&&(r[e]=i)}}}let c=jS(e,n),l=c.attributes;if(n.inline&&(a.verticalAlign=`-0.125em`),i===`svg`){r.style={...a,...s},Object.assign(r,l);let e=0,n=t.id;return typeof n==`string`&&(n=n.replace(/-/g,`_`)),r.innerHTML=FS(c.body,n?()=>n+`ID`+ e++:`iconifyVue`),kc(`svg`,r)}let{body:u,width:d,height:f}=e,p=i===`mask`||(i===`bg`?!1:u.indexOf(`currentColor`)!==-1),m=xC(u,{...l,width:d+``,height:f+``});return r.style={...a,"--svg":wC(m),width:NC(l.width),height:NC(l.height),...DC,...p?OC:kC,...s},kc(`span`,r)};if(vS(!0),LS(``,XS),typeof document<`u`&&typeof window<`u`){let e=window;if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!xS(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;US(e,r)||console.error(n)}catch{console.error(n)}}}}var FC={...nS,body:``},IC=F((e,{emit:t})=>{let n=j(null);function r(){n.value&&=(n.value.abort?.(),null)}let i=j(!!e.ssr),a=j(``),o=Zn(null);function s(){let i=e.icon;if(typeof i==`object`&&i&&typeof i.body==`string`)return a.value=``,{data:i};let o;if(typeof i!=`string`||(o=Qx(i,!1,!0))===null)return null;let s=yS(o);if(!s){let e=n.value;return(!e||e.name!==i)&&(s===null?n.value={name:i}:n.value={name:i,abort:gC([o],c)}),null}r(),a.value!==i&&(a.value=i,Rr(()=>{t(`load`,i)}));let l=e.customise;if(l){s=Object.assign({},s);let e=l(s.body,o.name,o.prefix,o.provider);typeof e==`string`&&(s.body=e)}let u=[`iconify`];return o.prefix!==``&&u.push(`iconify--`+o.prefix),o.provider!==``&&u.push(`iconify--`+o.provider),{data:s,classes:u}}function c(){let e=s();e?e.data!==o.value?.data&&(o.value=e):o.value=null}return i.value?c():_a(()=>{i.value=!0,c()}),L(()=>e.icon,c),xa(r),()=>{let t=o.value;if(!t)return PC(FC,e);let n=e;return t.classes&&(n={...e,class:t.classes.join(` `)}),PC({...nS,...t.data},n)}},{props:[`icon`,`mode`,`ssr`,`width`,`height`,`style`,`color`,`inline`,`rotate`,`hFlip`,`horizontalFlip`,`vFlip`,`verticalFlip`,`flip`,`id`,`ariaHidden`,`customise`,`title`],emits:[`load`]}),LC={__name:`Icon`,props:{name:{type:null,required:!0}},setup(e){return(t,n)=>typeof e.name==`string`?(z(),V(M(IC),{key:0,icon:e.name.replace(/^i-/,``)},null,8,[`icon`])):(z(),V(Aa(e.name),{key:1}))}};const RC=Symbol(`nuxt-ui.avatar-group`);function zC(e){let t=To(RC,void 0),n=K(()=>e.size??t?.value.size);return wo(RC,K(()=>({size:n.value}))),{size:n}}var BC={slots:{root:`relative inline-flex items-center justify-center shrink-0`,base:`rounded-full ring ring-bg flex items-center justify-center text-inverted font-medium whitespace-nowrap`},variants:{color:{primary:`bg-primary`,secondary:`bg-secondary`,success:`bg-success`,info:`bg-info`,warning:`bg-warning`,error:`bg-error`,neutral:`bg-inverted`},size:{"3xs":`h-[4px] min-w-[4px] text-[4px]`,"2xs":`h-[5px] min-w-[5px] text-[5px]`,xs:`h-[6px] min-w-[6px] text-[6px]`,sm:`h-[7px] min-w-[7px] text-[7px]`,md:`h-[8px] min-w-[8px] text-[8px]`,lg:`h-[9px] min-w-[9px] text-[9px]`,xl:`h-[10px] min-w-[10px] text-[10px]`,"2xl":`h-[11px] min-w-[11px] text-[11px]`,"3xl":`h-[12px] min-w-[12px] text-[12px]`},position:{"top-right":`top-0 right-0`,"bottom-right":`bottom-0 right-0`,"top-left":`top-0 left-0`,"bottom-left":`bottom-0 left-0`},inset:{false:``},standalone:{false:`absolute`}},compoundVariants:[{position:`top-right`,inset:!1,class:`-translate-y-1/2 translate-x-1/2 transform`},{position:`bottom-right`,inset:!1,class:`translate-y-1/2 translate-x-1/2 transform`},{position:`top-left`,inset:!1,class:`-translate-y-1/2 -translate-x-1/2 transform`},{position:`bottom-left`,inset:!1,class:`translate-y-1/2 -translate-x-1/2 transform`}],defaultVariants:{size:`md`,color:`primary`,position:`top-right`}},VC=Object.assign({inheritAttrs:!1},{__name:`Chip`,props:to({as:{type:null,required:!1},text:{type:[String,Number],required:!1},color:{type:null,required:!1},size:{type:null,required:!1},position:{type:null,required:!1},inset:{type:Boolean,required:!1,default:!1},standalone:{type:Boolean,required:!1,default:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},{show:{type:Boolean,default:!0},showModifiers:{}}),emits:[`update:show`],setup(e){let t=e,n=Fo(e,`show`,{type:Boolean,default:!0}),{size:r}=zC(t),i=om(),a=K(()=>Xx({extend:Xx(BC),...i.ui?.chip||{}})({color:t.color,size:r.value,position:t.position,inset:t.inset,standalone:t.standalone}));return(r,i)=>(z(),V(M(ig),{as:e.as,"data-slot":`root`,class:k(a.value.root({class:[t.ui?.root,t.class]}))},{default:P(()=>[U(M(ng),at(Zs(r.$attrs)),{default:P(()=>[I(r.$slots,`default`)]),_:3},16),n.value?(z(),B(`span`,{key:0,"data-slot":`base`,class:k(a.value.base({class:t.ui?.base}))},[I(r.$slots,`content`,{},()=>[$s(pt(e.text),1)])],2)):W(``,!0)]),_:3},8,[`as`,`class`]))}}),HC={slots:{root:`inline-flex items-center justify-center shrink-0 select-none rounded-full align-middle bg-elevated`,image:`h-full w-full rounded-[inherit] object-cover`,fallback:`font-medium leading-none text-muted truncate`,icon:`text-muted shrink-0`},variants:{size:{"3xs":{root:`size-4 text-[8px]`},"2xs":{root:`size-5 text-[10px]`},xs:{root:`size-6 text-xs`},sm:{root:`size-7 text-sm`},md:{root:`size-8 text-base`},lg:{root:`size-9 text-lg`},xl:{root:`size-10 text-xl`},"2xl":{root:`size-11 text-[22px]`},"3xl":{root:`size-12 text-2xl`}}},defaultVariants:{size:`md`}},UC=Object.assign({inheritAttrs:!1},{__name:`Avatar`,props:{as:{type:null,required:!1},src:{type:String,required:!1},alt:{type:String,required:!1},icon:{type:null,required:!1},text:{type:String,required:!1},size:{type:null,required:!1},chip:{type:[Boolean,Object],required:!1},class:{type:null,required:!1},style:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){let t=e,n=K(()=>typeof t.as==`string`||typeof t.as?.render==`function`?{root:t.as}:fm(t.as,{root:`span`})),r=K(()=>t.text||(t.alt||``).split(` `).map(e=>e.charAt(0)).join(``).substring(0,2)),i=om(),{size:a}=zC(t),o=K(()=>Xx({extend:Xx(HC),...i.ui?.avatar||{}})({size:a.value})),s=K(()=>({"3xs":16,"2xs":20,xs:24,sm:28,md:32,lg:36,xl:40,"2xl":44,"3xl":48})[t.size||`md`]),c=j(!1);L(()=>t.src,()=>{c.value&&=!1});function l(){c.value=!0}return(i,a)=>(z(),V(Aa(t.chip?VC:M(ig)),G({as:n.value.root},t.chip?typeof t.chip==`object`?{inset:!0,...t.chip}:{inset:!0}:{},{"data-slot":`root`,class:o.value.root({class:[t.ui?.root,t.class]}),style:t.style}),{default:P(()=>[e.src&&!c.value?(z(),V(Aa(n.value.img||M(`img`)),G({key:0,src:e.src,alt:e.alt,width:s.value,height:s.value},i.$attrs,{"data-slot":`image`,class:o.value.image({class:t.ui?.image}),onError:l}),null,16,[`src`,`alt`,`width`,`height`,`class`])):(z(),V(M(ng),at(G({key:1},i.$attrs)),{default:P(()=>[I(i.$slots,`default`,{},()=>[e.icon?(z(),V(LC,{key:0,name:e.icon,"data-slot":`icon`,class:k(o.value.icon({class:t.ui?.icon}))},null,8,[`name`,`class`])):(z(),B(`span`,{key:1,"data-slot":`fallback`,class:k(o.value.fallback({class:t.ui?.fallback}))},pt(r.value||`\xA0`),3))])]),_:3},16))]),_:3},16,[`as`,`class`,`style`]))}});function WC(e){let t=om(),n=K(()=>N(e)),r=K(()=>n.value.icon&&n.value.leading||n.value.icon&&!n.value.trailing||n.value.loading&&!n.value.trailing||!!n.value.leadingIcon);return{isLeading:r,isTrailing:K(()=>n.value.icon&&n.value.trailing||n.value.loading&&n.value.trailing||!!n.value.trailingIcon),leadingIconName:K(()=>n.value.loading?n.value.loadingIcon||t.ui.icons.loading:n.value.leadingIcon||n.value.icon),trailingIconName:K(()=>n.value.loading&&!r.value?n.value.loadingIcon||t.ui.icons.loading:n.value.trailingIcon||n.value.icon)}}const GC=Symbol(`nuxt-ui.field-group`);function KC(e){let t=To(GC,void 0);return{orientation:K(()=>t?.value.orientation),size:K(()=>e?.size??t?.value.size)}}const qC=Symbol(`nuxt-ui.form-loading`),JC=`active.activeClass.ariaCurrentValue.as.disabled.download.exact.exactActiveClass.exactHash.exactQuery.external.form.formaction.formenctype.formmethod.formnovalidate.formtarget.href.hreflang.inactiveClass.media.noPrefetch.noRel.onClick.ping.prefetch.prefetchOn.prefetchedClass.referrerpolicy.rel.replace.target.title.to.trailingSlash.type.viewTransition`.split(`.`);function YC(e){let t=Object.keys(e),n=t.filter(e=>e.startsWith(`aria-`)),r=t.filter(e=>e.startsWith(`data-`));return hd(e,...JC,...n,...r)}function XC(e,t){let n=_m(e,t).reduce((e,t)=>(t.type===`added`&&e.add(t.key),e),new Set);return gm(Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e))),Object.fromEntries(Object.entries(t).filter(([e])=>!n.has(e))))}String.fromCharCode;var ZC=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,QC=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,$C=/^([/\\]\s*){2,}[^/\\]/;function ew(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?ZC.test(e):QC.test(e)||(t.acceptRelative?$C.test(e):!1)}var tw={__name:`LinkBase`,props:{as:{type:String,required:!1,default:`button`},type:{type:String,required:!1,default:`button`},disabled:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},href:{type:String,required:!1},navigate:{type:Function,required:!1},target:{type:[String,Object,null],required:!1},rel:{type:[String,Object,null],required:!1},active:{type:Boolean,required:!1},isExternal:{type:Boolean,required:!1}},setup(e){let t=e;function n(e){if(t.disabled){e.stopPropagation(),e.preventDefault();return}if(t.onClick)for(let n of Array.isArray(t.onClick)?t.onClick:[t.onClick])n(e);t.href&&t.navigate&&!t.isExternal&&t.navigate(e)}return(t,r)=>(z(),V(M(ig),G(e.href?{as:`a`,href:e.disabled?void 0:e.href,"aria-disabled":e.disabled?`true`:void 0,role:e.disabled?`link`:void 0,tabindex:e.disabled?-1:void 0}:e.as===`button`?{as:e.as,type:e.type,disabled:e.disabled}:{as:e.as},{rel:e.rel,target:e.target,onClick:n}),{default:P(()=>[I(t.$slots,`default`)]),_:3},16,[`rel`,`target`]))}},nw={base:`focus-visible:outline-primary`,variants:{active:{true:`text-primary`,false:`text-muted`},disabled:{true:`cursor-not-allowed opacity-75`}},compoundVariants:[{active:!1,disabled:!1,class:[`hover:text-default`,`transition-colors`]}]},rw=Object.assign({inheritAttrs:!1},{__name:`Link`,props:{as:{type:null,required:!1,default:`button`},href:{type:null,required:!1},external:{type:Boolean,required:!1},target:{type:[String,Object,null],required:!1},rel:{type:[String,Object,null],required:!1},noRel:{type:Boolean,required:!1},type:{type:null,required:!1,default:`button`},disabled:{type:Boolean,required:!1},active:{type:Boolean,required:!1,default:void 0},exact:{type:Boolean,required:!1},exactQuery:{type:[Boolean,String],required:!1},exactHash:{type:Boolean,required:!1},inactiveClass:{type:String,required:!1},custom:{type:Boolean,required:!1},raw:{type:Boolean,required:!1},class:{type:null,required:!1},activeClass:{type:String,required:!1},exactActiveClass:{type:String,required:!1},ariaCurrentValue:{type:String,required:!1,default:`page`},viewTransition:{type:Boolean,required:!1},to:{type:null,required:!1},replace:{type:Boolean,required:!1}},setup(e){let t=e,n=im(),r=om(),i=Ah(ld(t,`as`,`type`,`disabled`,`active`,`exact`,`exactQuery`,`exactHash`,`activeClass`,`inactiveClass`,`to`,`href`,`raw`,`custom`,`class`,`noRel`)),a=K(()=>Xx({extend:Xx(nw),...fm({variants:{active:{true:wm(r.ui?.link?.variants?.active?.true,t.activeClass),false:wm(r.ui?.link?.variants?.active?.false,t.inactiveClass)}}},r.ui?.link||{})})),o=K(()=>t.to??t.href),s=K(()=>t.external?!0:o.value?typeof o.value==`string`&&ew(o.value,{acceptRelative:!0}):!1),c=K(()=>!!t.target&&t.target!==`_self`),l=K(()=>t.noRel?null:t.rel===void 0?s.value||c.value?`noopener noreferrer`:null:t.rel||null);function u({route:e,isActive:r,isExactActive:i}){if(t.active!==void 0)return t.active;if(!o.value)return!1;if(t.exactQuery===`partial`){if(!XC(e.query,n.query))return!1}else if(t.exactQuery===!0&&!gm(e.query,n.query))return!1;return t.exactHash&&e.hash!==n.hash?!1:!!(t.exact&&i||!t.exact&&r)}function d({route:e,isActive:n,isExactActive:r}={}){let i=u({route:e,isActive:n,isExactActive:r});return t.raw?[t.class,i?t.activeClass:t.inactiveClass]:a.value({class:t.class,active:i,disabled:t.disabled})}return(n,r)=>!s.value&&o.value?(z(),V(M(Yp),G({key:0},M(i),{to:o.value,custom:``}),{default:P(({href:r,navigate:i,route:a,isActive:o,isExactActive:c})=>[e.custom?I(n.$slots,`default`,at(G({key:0},{...n.$attrs,...e.exact&&c?{"aria-current":t.ariaCurrentValue}:{},as:e.as,type:e.type,disabled:e.disabled,href:r,navigate:i,rel:l.value,target:e.target,isExternal:s.value,active:u({route:a,isActive:o,isExactActive:c})}))):(z(),V(tw,G({key:1},{...n.$attrs,...e.exact&&c?{"aria-current":t.ariaCurrentValue}:{},as:e.as,type:e.type,disabled:e.disabled,href:r,navigate:i,rel:l.value,target:e.target,isExternal:s.value},{class:d({route:a,isActive:o,isExactActive:c})}),{default:P(()=>[I(n.$slots,`default`,{active:u({route:a,isActive:o,isExactActive:c})})]),_:2},1040,[`class`]))]),_:3},16,[`to`])):(z(),B(R,{key:1},[e.custom?I(n.$slots,`default`,at(G({key:0},{...n.$attrs,as:e.as,type:e.type,disabled:e.disabled,href:o.value,rel:l.value,target:e.target,active:e.active,isExternal:s.value}))):(z(),V(tw,G({key:1},{...n.$attrs,as:e.as,type:e.type,disabled:e.disabled,href:o.value,rel:l.value,target:e.target,isExternal:s.value},{class:d()}),{default:P(()=>[I(n.$slots,`default`,{active:e.active})]),_:3},16,[`class`]))],64))}}),iw={slots:{base:[`rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75`,`transition-colors`],label:`truncate`,leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailingIcon:`shrink-0`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``,ghost:``,link:``},size:{xs:{base:`px-2 py-1 text-xs gap-1`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},sm:{base:`px-2.5 py-1.5 text-xs gap-1.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},md:{base:`px-2.5 py-1.5 text-sm gap-1.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},lg:{base:`px-3 py-2 text-sm gap-2`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`px-3 py-2 text-base gap-2`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`}},block:{true:{base:`w-full justify-center`,trailingIcon:`ms-auto`}},square:{true:``},leading:{true:``},trailing:{true:``},loading:{true:``},active:{true:{base:``},false:{base:``}}},compoundVariants:[{color:`primary`,variant:`solid`,class:`text-inverted bg-primary hover:bg-primary/75 active:bg-primary/75 disabled:bg-primary aria-disabled:bg-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary`},{color:`secondary`,variant:`solid`,class:`text-inverted bg-secondary hover:bg-secondary/75 active:bg-secondary/75 disabled:bg-secondary aria-disabled:bg-secondary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary`},{color:`success`,variant:`solid`,class:`text-inverted bg-success hover:bg-success/75 active:bg-success/75 disabled:bg-success aria-disabled:bg-success focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success`},{color:`info`,variant:`solid`,class:`text-inverted bg-info hover:bg-info/75 active:bg-info/75 disabled:bg-info aria-disabled:bg-info focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info`},{color:`warning`,variant:`solid`,class:`text-inverted bg-warning hover:bg-warning/75 active:bg-warning/75 disabled:bg-warning aria-disabled:bg-warning focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning`},{color:`error`,variant:`solid`,class:`text-inverted bg-error hover:bg-error/75 active:bg-error/75 disabled:bg-error aria-disabled:bg-error focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-error`},{color:`primary`,variant:`outline`,class:`ring ring-inset ring-primary/50 text-primary hover:bg-primary/10 active:bg-primary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-primary`},{color:`secondary`,variant:`outline`,class:`ring ring-inset ring-secondary/50 text-secondary hover:bg-secondary/10 active:bg-secondary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-secondary`},{color:`success`,variant:`outline`,class:`ring ring-inset ring-success/50 text-success hover:bg-success/10 active:bg-success/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-success`},{color:`info`,variant:`outline`,class:`ring ring-inset ring-info/50 text-info hover:bg-info/10 active:bg-info/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-info`},{color:`warning`,variant:`outline`,class:`ring ring-inset ring-warning/50 text-warning hover:bg-warning/10 active:bg-warning/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-warning`},{color:`error`,variant:`outline`,class:`ring ring-inset ring-error/50 text-error hover:bg-error/10 active:bg-error/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-error`},{color:`primary`,variant:`soft`,class:`text-primary bg-primary/10 hover:bg-primary/15 active:bg-primary/15 focus:outline-none focus-visible:bg-primary/15 disabled:bg-primary/10 aria-disabled:bg-primary/10`},{color:`secondary`,variant:`soft`,class:`text-secondary bg-secondary/10 hover:bg-secondary/15 active:bg-secondary/15 focus:outline-none focus-visible:bg-secondary/15 disabled:bg-secondary/10 aria-disabled:bg-secondary/10`},{color:`success`,variant:`soft`,class:`text-success bg-success/10 hover:bg-success/15 active:bg-success/15 focus:outline-none focus-visible:bg-success/15 disabled:bg-success/10 aria-disabled:bg-success/10`},{color:`info`,variant:`soft`,class:`text-info bg-info/10 hover:bg-info/15 active:bg-info/15 focus:outline-none focus-visible:bg-info/15 disabled:bg-info/10 aria-disabled:bg-info/10`},{color:`warning`,variant:`soft`,class:`text-warning bg-warning/10 hover:bg-warning/15 active:bg-warning/15 focus:outline-none focus-visible:bg-warning/15 disabled:bg-warning/10 aria-disabled:bg-warning/10`},{color:`error`,variant:`soft`,class:`text-error bg-error/10 hover:bg-error/15 active:bg-error/15 focus:outline-none focus-visible:bg-error/15 disabled:bg-error/10 aria-disabled:bg-error/10`},{color:`primary`,variant:`subtle`,class:`text-primary ring ring-inset ring-primary/25 bg-primary/10 hover:bg-primary/15 active:bg-primary/15 disabled:bg-primary/10 aria-disabled:bg-primary/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary`},{color:`secondary`,variant:`subtle`,class:`text-secondary ring ring-inset ring-secondary/25 bg-secondary/10 hover:bg-secondary/15 active:bg-secondary/15 disabled:bg-secondary/10 aria-disabled:bg-secondary/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-secondary`},{color:`success`,variant:`subtle`,class:`text-success ring ring-inset ring-success/25 bg-success/10 hover:bg-success/15 active:bg-success/15 disabled:bg-success/10 aria-disabled:bg-success/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-success`},{color:`info`,variant:`subtle`,class:`text-info ring ring-inset ring-info/25 bg-info/10 hover:bg-info/15 active:bg-info/15 disabled:bg-info/10 aria-disabled:bg-info/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-info`},{color:`warning`,variant:`subtle`,class:`text-warning ring ring-inset ring-warning/25 bg-warning/10 hover:bg-warning/15 active:bg-warning/15 disabled:bg-warning/10 aria-disabled:bg-warning/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-warning`},{color:`error`,variant:`subtle`,class:`text-error ring ring-inset ring-error/25 bg-error/10 hover:bg-error/15 active:bg-error/15 disabled:bg-error/10 aria-disabled:bg-error/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-error`},{color:`primary`,variant:`ghost`,class:`text-primary hover:bg-primary/10 active:bg-primary/10 focus:outline-none focus-visible:bg-primary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`},{color:`secondary`,variant:`ghost`,class:`text-secondary hover:bg-secondary/10 active:bg-secondary/10 focus:outline-none focus-visible:bg-secondary/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`},{color:`success`,variant:`ghost`,class:`text-success hover:bg-success/10 active:bg-success/10 focus:outline-none focus-visible:bg-success/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`},{color:`info`,variant:`ghost`,class:`text-info hover:bg-info/10 active:bg-info/10 focus:outline-none focus-visible:bg-info/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`},{color:`warning`,variant:`ghost`,class:`text-warning hover:bg-warning/10 active:bg-warning/10 focus:outline-none focus-visible:bg-warning/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`},{color:`error`,variant:`ghost`,class:`text-error hover:bg-error/10 active:bg-error/10 focus:outline-none focus-visible:bg-error/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`},{color:`primary`,variant:`link`,class:`text-primary hover:text-primary/75 active:text-primary/75 disabled:text-primary aria-disabled:text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`},{color:`secondary`,variant:`link`,class:`text-secondary hover:text-secondary/75 active:text-secondary/75 disabled:text-secondary aria-disabled:text-secondary focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary`},{color:`success`,variant:`link`,class:`text-success hover:text-success/75 active:text-success/75 disabled:text-success aria-disabled:text-success focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success`},{color:`info`,variant:`link`,class:`text-info hover:text-info/75 active:text-info/75 disabled:text-info aria-disabled:text-info focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info`},{color:`warning`,variant:`link`,class:`text-warning hover:text-warning/75 active:text-warning/75 disabled:text-warning aria-disabled:text-warning focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning`},{color:`error`,variant:`link`,class:`text-error hover:text-error/75 active:text-error/75 disabled:text-error aria-disabled:text-error focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted hover:bg-inverted/90 active:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted`},{color:`neutral`,variant:`ghost`,class:`text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent`},{color:`neutral`,variant:`link`,class:`text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted`},{size:`xs`,square:!0,class:`p-1`},{size:`sm`,square:!0,class:`p-1.5`},{size:`md`,square:!0,class:`p-1.5`},{size:`lg`,square:!0,class:`p-2`},{size:`xl`,square:!0,class:`p-2`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`}},aw={__name:`Button`,props:{label:{type:String,required:!1},color:{type:null,required:!1},activeColor:{type:null,required:!1},variant:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},active:{type:Boolean,required:!1},exact:{type:Boolean,required:!1},exactQuery:{type:[Boolean,String],required:!1},exactHash:{type:Boolean,required:!1},inactiveClass:{type:String,required:!1},to:{type:null,required:!1},href:{type:null,required:!1},external:{type:Boolean,required:!1},target:{type:[String,Object,null],required:!1},rel:{type:[String,Object,null],required:!1},noRel:{type:Boolean,required:!1},prefetchedClass:{type:String,required:!1},prefetch:{type:Boolean,required:!1},prefetchOn:{type:[String,Object],required:!1},noPrefetch:{type:Boolean,required:!1},trailingSlash:{type:String,required:!1},activeClass:{type:String,required:!1},exactActiveClass:{type:String,required:!1},ariaCurrentValue:{type:String,required:!1},viewTransition:{type:Boolean,required:!1},replace:{type:Boolean,required:!1}},setup(e){let t=e,n=Xa(),r=om(),{orientation:i,size:a}=KC(t),o=Ah(YC(t)),s=j(!1),c=To(qC,void 0);async function l(e){s.value=!0;let n=Array.isArray(t.onClick)?t.onClick:[t.onClick];try{await Promise.all(n.map(t=>t?.(e)))}finally{s.value=!1}}let u=K(()=>t.loading||t.loadingAuto&&(s.value||c?.value&&t.type===`submit`)),{isLeading:d,isTrailing:f,leadingIconName:p,trailingIconName:m}=WC(K(()=>({...t,loading:u.value}))),h=K(()=>Xx({extend:Xx(iw),...fm({variants:{active:{true:{base:wm(r.ui?.button?.variants?.active?.true?.base,t.activeClass)},false:{base:wm(r.ui?.button?.variants?.active?.false?.base,t.inactiveClass)}}}},r.ui?.button||{})})({color:t.color,variant:t.variant,size:a.value,loading:u.value,block:t.block,square:t.square||!n.default&&!t.label,leading:d.value,trailing:f.value,fieldGroup:i.value}));return(n,r)=>(z(),V(rw,G({type:e.type,disabled:e.disabled||u.value},M(Sm)(M(o),[`type`,`disabled`,`onClick`]),{custom:``}),{default:P(({active:r,...i})=>[U(tw,G(i,{"data-slot":`base`,class:h.value.base({class:[t.ui?.base,t.class],active:r,...r&&e.activeVariant?{variant:e.activeVariant}:{},...r&&e.activeColor?{color:e.activeColor}:{}}),onClick:l}),{default:P(()=>[I(n.$slots,`leading`,{ui:h.value},()=>[M(d)&&M(p)?(z(),V(LC,{key:0,name:M(p),"data-slot":`leadingIcon`,class:k(h.value.leadingIcon({class:t.ui?.leadingIcon,active:r}))},null,8,[`name`,`class`])):e.avatar?(z(),V(UC,G({key:1,size:t.ui?.leadingAvatarSize||h.value.leadingAvatarSize()},e.avatar,{"data-slot":`leadingAvatar`,class:h.value.leadingAvatar({class:t.ui?.leadingAvatar,active:r})}),null,16,[`size`,`class`])):W(``,!0)]),I(n.$slots,`default`,{ui:h.value},()=>[e.label!==void 0&&e.label!==null?(z(),B(`span`,{key:0,"data-slot":`label`,class:k(h.value.label({class:t.ui?.label,active:r}))},pt(e.label),3)):W(``,!0)]),I(n.$slots,`trailing`,{ui:h.value},()=>[M(f)&&M(m)?(z(),V(LC,{key:0,name:M(m),"data-slot":`trailingIcon`,class:k(h.value.trailingIcon({class:t.ui?.trailingIcon,active:r}))},null,8,[`name`,`class`])):W(``,!0)])]),_:2},1040,[`class`])]),_:3},16,[`type`,`disabled`]))}},ow={slots:{root:`gap-2`,base:`relative overflow-hidden rounded-full bg-accented`,indicator:`rounded-full size-full transition-transform duration-200 ease-out`,status:`flex text-dimmed transition-[width] duration-200`,steps:`grid items-end`,step:`truncate text-end row-start-1 col-start-1 transition-opacity`},variants:{animation:{carousel:``,"carousel-inverse":``,swing:``,elastic:``},color:{primary:{indicator:`bg-primary`,steps:`text-primary`},secondary:{indicator:`bg-secondary`,steps:`text-secondary`},success:{indicator:`bg-success`,steps:`text-success`},info:{indicator:`bg-info`,steps:`text-info`},warning:{indicator:`bg-warning`,steps:`text-warning`},error:{indicator:`bg-error`,steps:`text-error`},neutral:{indicator:`bg-inverted`,steps:`text-inverted`}},size:{"2xs":{status:`text-xs`,steps:`text-xs`},xs:{status:`text-xs`,steps:`text-xs`},sm:{status:`text-sm`,steps:`text-sm`},md:{status:`text-sm`,steps:`text-sm`},lg:{status:`text-sm`,steps:`text-sm`},xl:{status:`text-base`,steps:`text-base`},"2xl":{status:`text-base`,steps:`text-base`}},step:{active:{step:`opacity-100`},first:{step:`opacity-100 text-muted`},other:{step:`opacity-0`},last:{step:``}},orientation:{horizontal:{root:`w-full flex flex-col`,base:`w-full`,status:`flex-row items-center justify-end min-w-fit`},vertical:{root:`h-full flex flex-row-reverse`,base:`h-full`,status:`flex-col justify-end min-h-fit`}},inverted:{true:{status:`self-end`}}},compoundVariants:[{inverted:!0,orientation:`horizontal`,class:{step:`text-start`,status:`flex-row-reverse`}},{inverted:!0,orientation:`vertical`,class:{steps:`items-start`,status:`flex-col-reverse`}},{orientation:`horizontal`,size:`2xs`,class:`h-px`},{orientation:`horizontal`,size:`xs`,class:`h-0.5`},{orientation:`horizontal`,size:`sm`,class:`h-1`},{orientation:`horizontal`,size:`md`,class:`h-2`},{orientation:`horizontal`,size:`lg`,class:`h-3`},{orientation:`horizontal`,size:`xl`,class:`h-4`},{orientation:`horizontal`,size:`2xl`,class:`h-5`},{orientation:`vertical`,size:`2xs`,class:`w-px`},{orientation:`vertical`,size:`xs`,class:`w-0.5`},{orientation:`vertical`,size:`sm`,class:`w-1`},{orientation:`vertical`,size:`md`,class:`w-2`},{orientation:`vertical`,size:`lg`,class:`w-3`},{orientation:`vertical`,size:`xl`,class:`w-4`},{orientation:`vertical`,size:`2xl`,class:`w-5`},{orientation:`horizontal`,animation:`carousel`,class:{indicator:`data-[state=indeterminate]:animate-[carousel_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-rtl_2s_ease-in-out_infinite]`}},{orientation:`vertical`,animation:`carousel`,class:{indicator:`data-[state=indeterminate]:animate-[carousel-vertical_2s_ease-in-out_infinite]`}},{orientation:`horizontal`,animation:`carousel-inverse`,class:{indicator:`data-[state=indeterminate]:animate-[carousel-inverse_2s_ease-in-out_infinite] data-[state=indeterminate]:rtl:animate-[carousel-inverse-rtl_2s_ease-in-out_infinite]`}},{orientation:`vertical`,animation:`carousel-inverse`,class:{indicator:`data-[state=indeterminate]:animate-[carousel-inverse-vertical_2s_ease-in-out_infinite]`}},{orientation:`horizontal`,animation:`swing`,class:{indicator:`data-[state=indeterminate]:animate-[swing_2s_ease-in-out_infinite]`}},{orientation:`vertical`,animation:`swing`,class:{indicator:`data-[state=indeterminate]:animate-[swing-vertical_2s_ease-in-out_infinite]`}},{orientation:`horizontal`,animation:`elastic`,class:{indicator:`data-[state=indeterminate]:animate-[elastic_2s_ease-in-out_infinite]`}},{orientation:`vertical`,animation:`elastic`,class:{indicator:`data-[state=indeterminate]:animate-[elastic-vertical_2s_ease-in-out_infinite]`}}],defaultVariants:{animation:`carousel`,color:`primary`,size:`md`}},sw={__name:`Progress`,props:{as:{type:null,required:!1},max:{type:[Number,Array],required:!1},status:{type:Boolean,required:!1},inverted:{type:Boolean,required:!1,default:!1},size:{type:null,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},animation:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},getValueLabel:{type:Function,required:!1},getValueText:{type:Function,required:!1},modelValue:{type:[Number,null],required:!1,default:null}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,r=t,i=Xa(),{dir:a}=Am(),o=om(),s=jh(hd(n,`getValueLabel`,`getValueText`,`modelValue`),r),c=K(()=>s.value.modelValue===null),l=K(()=>Array.isArray(n.max)),u=K(()=>{if(!(c.value||!n.max))return Array.isArray(n.max)?n.max.length-1:Number(n.max)}),d=K(()=>{if(!c.value)switch(!0){case s.value.modelValue<0:return 0;case s.value.modelValue>(u.value??100):return 100;default:return Math.round(s.value.modelValue/(u.value??100)*100)}}),f=K(()=>{if(d.value!==void 0)return n.orientation===`vertical`?{transform:`translateY(${n.inverted?``:`-`}${100-d.value}%)`}:a.value===`rtl`?{transform:`translateX(${n.inverted?`-`:``}${100-d.value}%)`}:{transform:`translateX(${n.inverted?``:`-`}${100-d.value}%)`}}),p=K(()=>{let e=`${Math.max(d.value??0,0)}%`;return n.orientation===`vertical`?{height:e}:{width:e}});function m(e){return e===Number(n.modelValue)}function h(e){return e===0}function g(e){return e===u.value}function _(e){return e=Number(e),m(e)&&!h(e)?`active`:h(e)&&m(e)?`first`:g(e)&&m(e)?`last`:`other`}let v=K(()=>Xx({extend:Xx(ow),...o.ui?.progress||{}})({animation:n.animation,size:n.size,color:n.color,orientation:n.orientation,inverted:n.inverted}));return(t,r)=>(z(),V(M(ig),{as:e.as,"data-orientation":e.orientation,"data-slot":`root`,class:k(v.value.root({class:[n.ui?.root,n.class]}))},{default:P(()=>[!c.value&&(e.status||i.status)?(z(),B(`div`,{key:0,"data-slot":`status`,class:k(v.value.status({class:n.ui?.status})),style:et(p.value)},[I(t.$slots,`status`,{percent:d.value},()=>[$s(pt(d.value)+`% `,1)])],6)):W(``,!0),U(M(yy),G(M(s),{max:u.value,"data-slot":`base`,class:v.value.base({class:n.ui?.base}),style:{transform:`translateZ(0)`}}),{default:P(()=>[U(M(by),{"data-slot":`indicator`,class:k(v.value.indicator({class:n.ui?.indicator})),style:et(f.value)},null,8,[`class`,`style`])]),_:1},16,[`max`,`class`]),l.value?(z(),B(`div`,{key:1,"data-slot":`steps`,class:k(v.value.steps({class:n.ui?.steps}))},[(z(!0),B(R,null,Pa(e.max,(e,r)=>(z(),B(`div`,{key:r,"data-slot":`step`,class:k(v.value.step({class:n.ui?.step,step:_(r)}))},[I(t.$slots,`step-${r}`,{step:e},()=>[$s(pt(e),1)])],2))),128))],2)):W(``,!0)]),_:3},8,[`as`,`data-orientation`,`class`]))}},cw={slots:{root:`relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5 focus:outline-none`,wrapper:`w-0 flex-1 flex flex-col`,title:`text-sm font-medium text-highlighted`,description:`text-sm text-muted`,icon:`shrink-0 size-5`,avatar:`shrink-0`,avatarSize:`2xl`,actions:`flex gap-1.5 shrink-0`,progress:`absolute inset-x-0 bottom-0`,close:`p-0`},variants:{color:{primary:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,icon:`text-primary`},secondary:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary`,icon:`text-secondary`},success:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success`,icon:`text-success`},info:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info`,icon:`text-info`},warning:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning`,icon:`text-warning`},error:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error`,icon:`text-error`},neutral:{root:`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted`,icon:`text-highlighted`}},orientation:{horizontal:{root:`items-center`,actions:`items-center`},vertical:{root:`items-start`,actions:`items-start mt-2.5`}},title:{true:{description:`mt-1`}}},defaultVariants:{color:`primary`}},lw={__name:`Toast`,props:{as:{type:null,required:!1},title:{type:[String,Object,Function],required:!1},description:{type:[String,Object,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},orientation:{type:null,required:!1,default:`vertical`},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},actions:{type:Array,required:!1},progress:{type:[Boolean,Object],required:!1,default:!0},class:{type:null,required:!1},ui:{type:null,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},type:{type:String,required:!1},duration:{type:Number,required:!1}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=Xa(),{t:o}=Am(),s=om(),c=jh(hd(r,`as`,`defaultOpen`,`open`,`duration`,`type`),i),l=K(()=>Xx({extend:Xx(cw),...s.ui?.toast||{}})({color:r.color,orientation:r.orientation,title:!!r.title||!!a.title})),u=Pi(`rootRef`),d=j(0);return _a(()=>{u.value&&Rr(()=>{d.value=u.value?.$el?.getBoundingClientRect()?.height})}),t({height:d}),(t,n)=>(z(),V(M(zy),G({ref_key:`rootRef`,ref:u},M(c),{"data-orientation":e.orientation,"data-slot":`root`,class:l.value.root({class:[r.ui?.root,r.class]}),style:{"--height":d.value}}),{default:P(({remaining:i,duration:c,open:u})=>[I(t.$slots,`leading`,{ui:l.value},()=>[e.avatar?(z(),V(UC,G({key:0,size:r.ui?.avatarSize||l.value.avatarSize()},e.avatar,{"data-slot":`avatar`,class:l.value.avatar({class:r.ui?.avatar})}),null,16,[`size`,`class`])):e.icon?(z(),V(LC,{key:1,name:e.icon,"data-slot":`icon`,class:k(l.value.icon({class:r.ui?.icon}))},null,8,[`name`,`class`])):W(``,!0)]),H(`div`,{"data-slot":`wrapper`,class:k(l.value.wrapper({class:r.ui?.wrapper}))},[e.title||a.title?(z(),V(M(By),{key:0,"data-slot":`title`,class:k(l.value.title({class:r.ui?.title}))},{default:P(()=>[I(t.$slots,`title`,{},()=>[typeof e.title==`function`?(z(),V(Aa(e.title()),{key:0})):typeof e.title==`object`?(z(),V(Aa(e.title),{key:1})):(z(),B(R,{key:2},[$s(pt(e.title),1)],64))])]),_:3},8,[`class`])):W(``,!0),e.description||a.description?(z(),V(M(Ly),{key:1,"data-slot":`description`,class:k(l.value.description({class:r.ui?.description}))},{default:P(()=>[I(t.$slots,`description`,{},()=>[typeof e.description==`function`?(z(),V(Aa(e.description()),{key:0})):typeof e.description==`object`?(z(),V(Aa(e.description),{key:1})):(z(),B(R,{key:2},[$s(pt(e.description),1)],64))])]),_:3},8,[`class`])):W(``,!0),e.orientation===`vertical`&&(e.actions?.length||a.actions)?(z(),B(`div`,{key:2,"data-slot":`actions`,class:k(l.value.actions({class:r.ui?.actions}))},[I(t.$slots,`actions`,{},()=>[(z(!0),B(R,null,Pa(e.actions,(t,r)=>(z(),V(M(Iy),{key:r,"alt-text":t.label||`Action`,"as-child":``,onClick:n[0]||=ku(()=>{},[`stop`])},{default:P(()=>[U(aw,G({size:`xs`,color:e.color},{ref_for:!0},t),null,16,[`color`])]),_:2},1032,[`alt-text`]))),128))])],2)):W(``,!0)],2),e.orientation===`horizontal`&&(e.actions?.length||a.actions)||e.close?(z(),B(`div`,{key:0,"data-slot":`actions`,class:k(l.value.actions({class:r.ui?.actions,orientation:`horizontal`}))},[e.orientation===`horizontal`&&(e.actions?.length||a.actions)?I(t.$slots,`actions`,{key:0},()=>[(z(!0),B(R,null,Pa(e.actions,(t,r)=>(z(),V(M(Iy),{key:r,"alt-text":t.label||`Action`,"as-child":``,onClick:n[1]||=ku(()=>{},[`stop`])},{default:P(()=>[U(aw,G({size:`xs`,color:e.color},{ref_for:!0},t),null,16,[`color`])]),_:2},1032,[`alt-text`]))),128))]):W(``,!0),e.close||a.close?(z(),V(M(Fy),{key:1,"as-child":``},{default:P(()=>[I(t.$slots,`close`,{ui:l.value},()=>[e.close?(z(),V(aw,G({key:0,icon:e.closeIcon||M(s).ui.icons.close,color:`neutral`,variant:`link`,"aria-label":M(o)(`toast.close`)},typeof e.close==`object`?e.close:{},{"data-slot":`close`,class:l.value.close({class:r.ui?.close}),onClick:n[2]||=ku(()=>{},[`stop`])}),null,16,[`icon`,`aria-label`,`class`])):W(``,!0)])]),_:3})):W(``,!0)],2)):W(``,!0),e.progress&&u&&i>0&&c?(z(),V(sw,G({key:1,"model-value":i/c*100,color:e.color},typeof e.progress==`object`?e.progress:{},{size:`sm`,"data-slot":`progress`,class:l.value.progress({class:r.ui?.progress})}),null,16,[`model-value`,`color`,`class`])):W(``,!0)]),_:3},16,[`data-orientation`,`class`,`style`]))}},uw={slots:{viewport:`fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[100] data-[expanded=true]:h-(--height) focus:outline-none`,base:`pointer-events-auto absolute inset-x-0 z-(--index) transform-(--transform) data-[expanded=false]:data-[front=false]:h-(--front-height) data-[expanded=false]:data-[front=false]:*:opacity-0 data-[front=false]:*:transition-opacity data-[front=false]:*:duration-100 data-[state=closed]:animate-[toast-closed_200ms_ease-in-out] data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_200ms_ease-in-out] data-[swipe=move]:transition-none transition-[transform,translate,height] duration-200 ease-out`},variants:{position:{"top-left":{viewport:`left-4`},"top-center":{viewport:`left-1/2 transform -translate-x-1/2`},"top-right":{viewport:`right-4`},"bottom-left":{viewport:`left-4`},"bottom-center":{viewport:`left-1/2 transform -translate-x-1/2`},"bottom-right":{viewport:`right-4`}},swipeDirection:{up:`data-[swipe=end]:animate-[toast-slide-up_200ms_ease-out]`,right:`data-[swipe=end]:animate-[toast-slide-right_200ms_ease-out]`,down:`data-[swipe=end]:animate-[toast-slide-down_200ms_ease-out]`,left:`data-[swipe=end]:animate-[toast-slide-left_200ms_ease-out]`}},compoundVariants:[{position:[`top-left`,`top-center`,`top-right`],class:{viewport:`top-4`,base:`top-0 data-[state=open]:animate-[slide-in-from-top_200ms_ease-in-out]`}},{position:[`bottom-left`,`bottom-center`,`bottom-right`],class:{viewport:`bottom-4`,base:`bottom-0 data-[state=open]:animate-[slide-in-from-bottom_200ms_ease-in-out]`}},{swipeDirection:[`left`,`right`],class:`data-[swipe=move]:translate-x-(--reka-toast-swipe-move-x) data-[swipe=end]:translate-x-(--reka-toast-swipe-end-x) data-[swipe=cancel]:translate-x-0`},{swipeDirection:[`up`,`down`],class:`data-[swipe=move]:translate-y-(--reka-toast-swipe-move-y) data-[swipe=end]:translate-y-(--reka-toast-swipe-end-y) data-[swipe=cancel]:translate-y-0`}],defaultVariants:{position:`bottom-right`}},dw=Object.assign({name:`Toaster`},{props:{position:{type:null,required:!1},expand:{type:Boolean,required:!1,default:!0},progress:{type:Boolean,required:!1,default:!0},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},max:{type:Number,required:!1,default:5},class:{type:null,required:!1},ui:{type:null,required:!1},label:{type:String,required:!1},duration:{type:Number,required:!1,default:5e3},disableSwipe:{type:Boolean,required:!1},swipeThreshold:{type:Number,required:!1}},setup(e){let t=e,{toasts:n,remove:r}=ab(),i=om();wo(ib,cr(()=>t.max));let a=Ah(hd(t,`duration`,`label`,`swipeThreshold`,`disableSwipe`)),o=rb(cr(()=>t.portal)),s=K(()=>{switch(t.position){case`top-center`:return`up`;case`top-right`:case`bottom-right`:return`right`;case`bottom-center`:return`down`;case`top-left`:case`bottom-left`:return`left`}return`right`}),c=K(()=>Xx({extend:Xx(uw),...i.ui?.toaster||{}})({position:t.position,swipeDirection:s.value}));function l(e,t){e||r(t)}let u=j(!1),d=K(()=>t.expand||u.value),f=j([]),p=K(()=>f.value.reduce((e,{height:t})=>e+t+16,0)),m=K(()=>f.value[f.value.length-1]?.height||0);function h(e){return f.value.slice(e+1).reduce((e,{height:t})=>e+t+16,0)}return(r,i)=>(z(),V(M(wy),G({"swipe-direction":s.value},M(a)),{default:P(()=>[I(r.$slots,`default`),(z(!0),B(R,null,Pa(M(n),(r,i)=>(z(),V(lw,G({key:r.id,ref_for:!0,ref_key:`refs`,ref:f,progress:e.progress},{ref_for:!0},M(Sm)(r,[`id`,`close`]),{close:r.close,"data-expanded":d.value,"data-front":!d.value&&i===M(n).length-1,style:{"--index":i-M(n).length+M(n).length,"--before":M(n).length-1-i,"--offset":h(i),"--scale":d.value?`1`:`calc(1 - var(--before) * var(--scale-factor))`,"--translate":d.value?`calc(var(--offset) * var(--translate-factor))`:`calc(var(--before) * var(--gap))`,"--transform":`translateY(var(--translate)) scale(var(--scale))`},"data-slot":`base`,class:c.value.base({class:[t.ui?.base,r.onClick?`cursor-pointer`:void 0]}),"onUpdate:open":e=>l(e,r.id),onClick:e=>r.onClick&&r.onClick(r)}),null,16,[`progress`,`close`,`data-expanded`,`data-front`,`style`,`class`,`onUpdate:open`,`onClick`]))),128)),U(M(Ry),at(Zs(M(o))),{default:P(()=>[U(M(Hy),{"data-expanded":d.value,"data-slot":`viewport`,class:k(c.value.viewport({class:[t.ui?.viewport,t.class]})),style:et({"--scale-factor":`0.05`,"--translate-factor":e.position?.startsWith(`top`)?`1px`:`-1px`,"--gap":e.position?.startsWith(`top`)?`16px`:`-16px`,"--front-height":`${m.value}px`,"--height":`${p.value}px`}),onMouseenter:i[0]||=e=>u.value=!0,onMouseleave:i[1]||=e=>u.value=!1},null,8,[`data-expanded`,`class`,`style`])]),_:1},16)]),_:3},16,[`swipe-direction`]))}});function fw(){let e=zn([]),t=(t,i)=>{let{props:a,defaultOpen:s,destroyOnClose:c}=i||{},l=Rn({id:Symbol(import.meta.dev?`useOverlay`:``),isOpen:!!s,component:qn(t),isMounted:!!s,destroyOnClose:!!c,originalProps:a||{},props:{...a}});return e.push(l),{...l,open:e=>n(l.id,e),close:e=>r(l.id,e),patch:e=>o(l.id,e)}},n=(e,t)=>{let n=s(e);t?n.props={...n.originalProps,...t}:n.props={...n.originalProps},n.isOpen=!0,n.isMounted=!0;let r=new Promise(e=>n.resolvePromise=e);return Object.assign(r,{id:e,isMounted:n.isMounted,isOpen:n.isOpen,result:r})},r=(e,t)=>{let n=s(e);n.isOpen=!1,n.resolvePromise&&=(n.resolvePromise(t),void 0)},i=()=>{e.forEach(e=>r(e.id))},a=t=>{let n=s(t);if(n.isMounted=!1,n.destroyOnClose){let n=e.findIndex(e=>e.id===t);e.splice(n,1)}},o=(e,t)=>{let n=s(e);n.props={...n.props,...t}},s=t=>{let n=e.find(e=>e.id===t);if(!n)throw Error(`Overlay not found`);return n};return{overlays:e,open:n,close:r,closeAll:i,create:t,patch:o,unmount:a,isOpen:e=>s(e).isOpen}}const pw=ad(fw);var mw={__name:`OverlayProvider`,setup(e){let{overlays:t,unmount:n,close:r}=pw(),i=K(()=>t.filter(e=>e.isMounted)),a=e=>{r(e),n(e)},o=(e,t)=>{r(e,t)};return(e,t)=>(z(!0),B(R,null,Pa(i.value,e=>(z(),V(Aa(e.component),G({key:e.id},{ref_for:!0},e.props,{open:e.isOpen,"onUpdate:open":t=>e.isOpen=t,onClose:t=>o(e.id,t),"onAfter:leave":t=>a(e.id)}),null,16,[`open`,`onUpdate:open`,`onClose`,`onAfter:leave`]))),128))}},hw=Object.assign({name:`App`},{props:{tooltip:{type:Object,required:!1},toaster:{type:[Object,null],required:!1},locale:{type:Object,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:`body`},dir:{type:String,required:!1},scrollBody:{type:[Boolean,Object],required:!1},nonce:{type:String,required:!1}},setup(e){let t=e,n=Ah(hd(t,`scrollBody`)),r=cr(()=>t.tooltip),i=cr(()=>t.toaster),a=cr(()=>t.locale);return wo(km,a),wo(nb,cr(()=>t.portal)),(o,s)=>(z(),V(M(Xm),G({"use-id":()=>Mi(),dir:t.dir||a.value?.dir,locale:a.value?.code},M(n)),{default:P(()=>[U(M(Ky),at(Zs(r.value)),{default:P(()=>[e.toaster===null?I(o.$slots,`default`,{key:1}):(z(),V(dw,at(G({key:0},i.value)),{default:P(()=>[I(o.$slots,`default`)]),_:3},16)),U(mw)]),_:3},16)]),_:3},16,[`use-id`,`dir`,`locale`]))}}),gw={base:`w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8`},_w={__name:`Container`,props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(e){let t=e,n=om(),r=K(()=>Xx({extend:Xx(gw),...n.ui?.container||{}}));return(n,i)=>(z(),V(M(ig),{as:e.as,class:k(r.value({class:t.class}))},{default:P(()=>[I(n.$slots,`default`)]),_:3},8,[`as`,`class`]))}};function vw(e,t){return bt()?(xt(e,t),!0):!1}var yw=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var bw=e=>e!=null,xw=Object.prototype.toString,Sw=e=>xw.call(e)===`[object Object]`,Cw=()=>{},ww=Tw();function Tw(){var e,t;return yw&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Ew(...e){if(e.length!==1)return cr(...e);let t=e[0];return typeof t==`function`?Bn(ir(()=>({get:t,set:Cw}))):j(t)}function Dw(e){let t;function n(){return t||=e(),t}return n.reset=async()=>{let e=t;t=void 0,e&&await e},n}function Ow(e){return Array.isArray(e)?e:[e]}function kw(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=Zn(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},N(t))}return r&&(a.value=!0,yw&&l()),vw(c),{isPending:Vn(a),start:l,stop:c}}function Aw(e,t,n){return L(e,t,{...n,immediate:!0})}var jw=yw?window:void 0,Mw=yw?window.document:void 0,Nw=yw?window.navigator:void 0;yw&&window.location;function Pw(e){let t=N(e);return t?.$el??t}function Fw(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=K(()=>{let t=Ow(N(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Aw(()=>[n.value?.map(e=>Pw(e))??[jw].filter(e=>e!=null),Ow(N(n.value?e[1]:e[0])),Ow(M(n.value?e[2]:e[1])),N(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=Sw(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function Iw(){let e=Zn(!1),t=lc();return t&&_a(()=>{e.value=!0},t),e}function Lw(e){let t=Iw();return K(()=>(t.value,!!e()))}function Rw(e,t,n={}){let{window:r=jw,...i}=n,a,o=Lw(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=L(K(()=>{let t=Ow(N(e)).map(Pw).filter(bw);return new Set(t)}),e=>{s(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),l=()=>a?.takeRecords(),u=()=>{c(),s()};return vw(u),{isSupported:o,stop:u,takeRecords:l}}function zw(e,t={}){let{controls:n=!1,navigator:r=Nw}=t,i=Lw(()=>r&&`permissions`in r),a=Zn(),o=typeof e==`string`?{name:e}:e,s=Zn(),c=()=>{s.value=a.value?.state??`prompt`};Fw(a,`change`,c,{passive:!0});let l=Dw(async()=>{if(i.value){if(!a.value)try{a.value=await r.permissions.query(o)}catch{a.value=void 0}finally{c()}if(n)return A(a.value)}});return l(),n?{state:s,isSupported:i,query:l}:s}function Bw(e={}){let{navigator:t=Nw,read:n=!1,source:r,copiedDuring:i=1500,legacy:a=!1}=e,o=Lw(()=>t&&`clipboard`in t),s=zw(`clipboard-read`),c=zw(`clipboard-write`),l=K(()=>o.value||a),u=Zn(``),d=Zn(!1),f=kw(()=>d.value=!1,i,{immediate:!1});async function p(){let e=!(o.value&&_(s.value));if(!e)try{u.value=await t.clipboard.readText()}catch{e=!0}e&&(u.value=g())}l.value&&n&&Fw([`copy`,`cut`],p,{passive:!0});async function m(e=N(r)){if(l.value&&e!=null){let n=!(o.value&&_(c.value));if(!n)try{await t.clipboard.writeText(e)}catch{n=!0}n&&h(e),u.value=e,d.value=!0,f.start()}}function h(e){let t=document.createElement(`textarea`);t.value=e,t.style.position=`absolute`,t.style.opacity=`0`,t.setAttribute(`readonly`,``),document.body.appendChild(t),t.select(),document.execCommand(`copy`),t.remove()}function g(){var e,t;return((e=document)==null||(t=e.getSelection)==null||(t=t.call(e))==null?void 0:t.toString())??``}function _(e){return e===`granted`||e===`prompt`}return{isSupported:l,text:Bn(u),copied:Bn(d),copy:m}}function Vw(e=null,t={}){let{baseUrl:n=``,rel:r=`icon`,document:i=Mw}=t,a=Ew(e),o=e=>{let t=i?.head.querySelectorAll(`link[rel*="${r}"]`);if(!t||t.length===0){let t=i?.createElement(`link`);t&&(t.rel=r,t.href=`${n}${e}`,t.type=`image/${e.split(`.`).pop()}`,i?.head.append(t));return}t?.forEach(t=>t.href=`${n}${e}`)};return L(a,(e,t)=>{typeof e==`string`&&e!==t&&o(e)},{immediate:!0}),a}function Hw(e){return typeof Window<`u`&&e instanceof Window?e.document.documentElement:typeof Document<`u`&&e instanceof Document?e.documentElement:e}function Uw(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}var Gw=new WeakMap;function Kw(e,t=!1){let n=Zn(t),r=null,i=``;L(Ew(e),e=>{let t=Hw(N(e));if(t){let e=t;if(Gw.get(e)||Gw.set(e,e.style.overflow),e.style.overflow!==`hidden`&&(i=e.style.overflow),e.style.overflow===`hidden`)return n.value=!0;if(n.value)return e.style.overflow=`hidden`}},{immediate:!0});let a=()=>{let t=Hw(N(e));!t||n.value||(ww&&(r=Fw(t,`touchmove`,e=>{Ww(e)},{passive:!1})),t.style.overflow=`hidden`,n.value=!0)},o=()=>{let t=Hw(N(e));!t||!n.value||(ww&&r?.(),t.style.overflow=i,Gw.delete(t),n.value=!1)};return vw(o),K({get(){return n.value},set(e){e?a():o()}})}function qw(e=null,t={}){let{document:n=Mw,restoreOnUnmount:r=e=>e}=t,i=n?.title??``,a=Ew(e??n?.title??null),o=!!(e&&typeof e==`function`);function s(e){if(!(`titleTemplate`in t))return e;let n=t.titleTemplate||`%s`;return typeof n==`function`?n(e):N(n).replace(/%s/g,e)}return L(a,(e,t)=>{e!==t&&n&&(n.title=s(e??``))},{immediate:!0}),t.observe&&!t.titleTemplate&&n&&!o&&Rw(n.head?.querySelector(`title`),()=>{n&&n.title!==a.value&&(a.value=s(n.title))},{childList:!0}),vw(()=>{if(r){let e=r(i,a.value||``);e!=null&&n&&(n.title=e)}}),a}var Jw=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns:svgjs='http://svgjs.dev/svgjs'%20viewBox='0%200%20700%20700'%20width='700'%20height='700'%20opacity='0.2'%3e%3cdefs%3e%3cfilter%20id='nnnoise-filter'%20x='-20%25'%20y='-20%25'%20width='140%25'%20height='140%25'%20filterUnits='objectBoundingBox'%20primitiveUnits='userSpaceOnUse'%20color-interpolation-filters='linearRGB'%3e%3cfeTurbulence%20type='turbulence'%20baseFrequency='0.156'%20numOctaves='4'%20seed='15'%20stitchTiles='stitch'%20x='0%25'%20y='0%25'%20width='100%25'%20height='100%25'%20result='turbulence'/%3e%3cfeSpecularLighting%20surfaceScale='5'%20specularConstant='0.4'%20specularExponent='20'%20lighting-color='%237957A8'%20x='0%25'%20y='0%25'%20width='100%25'%20height='100%25'%20in='turbulence'%20result='specularLighting'%3e%3cfeDistantLight%20azimuth='3'%20elevation='47'/%3e%3c/feSpecularLighting%3e%3cfeColorMatrix%20type='saturate'%20values='0'%20x='0%25'%20y='0%25'%20width='100%25'%20height='100%25'%20in='specularLighting'%20result='colormatrix'/%3e%3c/filter%3e%3c/defs%3e%3crect%20width='700'%20height='700'%20fill='transparent'/%3e%3crect%20width='700'%20height='700'%20fill='%237957a8'%20filter='url(%23nnnoise-filter)'/%3e%3cscript%20xmlns=''/%3e%3c/svg%3e`,Yw=`data:image/svg+xml,%3csvg%20viewBox='0%200%202500%202500'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cclipPath%20id='a'%3e%3cpath%20d='m2369.8%201249.51c0%20640.93-496.52%201160.5-1109%201160.5s-1109-519.57-1109-1160.5%20496.51-1160.5%201109-1160.5c344.52%200%20652.35%20164.4%20855.76%20422.31%2098.18%20124.49%20172.03%20270.77%20213.94%20430.86%2025.62%2097.88%2039.3%20200.93%2039.3%20307.32z'/%3e%3c/clipPath%3e%3cg%20clip-path='url(%23a)'%20fill='none'%3e%3cpath%20d='m2369.4%201250.48c0%20640.93-496.52%201160.5-1109%201160.5s-1109-519.58-1109-1160.5%20496.52-1160.5%201109-1160.5c344.52%200%20652.35%20164.4%20855.76%20422.31%2098.18%20124.49%20172.03%20270.77%20213.94%20430.86%2025.62%2097.88%2039.3%20200.93%2039.3%20307.32z'%20fill='%231b1429'/%3e%3cpath%20d='m332.4%20613.98c33.39-36.64%20437.65-465.53%201013-375%20375.45%2059.08%20601.6%20304.4%20667%20381-467.24-379.26-1097.21-228.49-1297%20135-165.87%20301.77-52.55%20781.67%20335.9%201056.74-74.51-17.99-379.08-100.49-582.9-400.74-241.64-355.98-151.18-737.43-136-797z'%20fill='%2329abe2'/%3e%3cpath%20d='m1740%201921c9.67-32.67%2019.33-65.33%2029-98%2088.29-53.43%20262.17-176.33%20372-401%20209.73-429.04%202.88-854.91-25-910%2063.47%2062.19%20267.13%20277.48%20285%20605%207.49%20137.26-19.98%20251.56-47%20330-49.7%20144.28-149.08%20223.9-201%20270-152.65%20135.56-318.89%20184.58-413%20204z'%20fill='%230071bc'/%3e%3cpath%20d='m167.27%201447.13c-20.13-108.6-40.36-301.9%2024.14-526.15%2037.8-131.42%2093.45-234.34%20141-307-42.4%20432.84%20104.25%20849.96%20401%201033%20391.38%20241.41%20893.4%20136.6%201180.79-173.3%20367.62-396.42%20209.99-939.41%20202.81-962.68%2035.13%2067.97%20226%20452.93%2061%20855-93.77%20228.5-259.8%20358.51-339%20419-57.85%2044.18-305.48%20226.06-641.6%20237.98-625.57%2022.17-1006.31-539.45-1030.14-575.85z'%20fill='%2300e7ff'/%3e%3cpath%20d='m360%201779c-7.16%2050.73%20127.72%20135.46%20646%20285%20351.58-186.63%20524.61-410.26%20604-534%2068.94-107.46%2095.49-183.58%2096-265%201.41-225.73-198.01-381.45-243-415%2081.69%20183.02%20140.76%20403.88%2045%20572-222.64%20390.88-1129.97%20229.31-1148%20357z'%20fill='%2329abe2'/%3e%3cpath%20d='m167.27%201447.13c69.35%20548.18%20540.71%20963.74%201093.14%20963.85%20552.64.11%201024.28-415.58%201093.6-963.98-36.48%2051.42-410.93%20560.07-1081.6%20565.98-685.19%206.04-1071.21-518.04-1105.14-565.85z'%20fill='%230071bc'/%3e%3c/g%3e%3cpath%20d='m1014%202002.95c470.73-239.57%20721.6-598.77%20630-897.18-19.62-63.9-64.87-157.38-181-255.77%2063.26%2024.3%20113.98%2053.31%20155%2083.66%20407.5%20301.52%20147.98%20950.37%20122%201012.72-60.64%2030.29-158.51%2070.54-288%2089.24-200.41%2028.95-362.82-10.14-438-32.67z'%20fill='%230071bc'/%3e%3c/svg%3e`,Xw={class:`bg-elevated border border-default rounded-md`},Zw={class:`flex items-center gap-x-2.5 p-3 pb-0.5`},Qw={class:`bg-accented p-1 border border-accented rounded-sm`},$w=[`textContent`],eT={class:`p-3`},tT=F({__name:`card`,props:{icon:{},title:{}},setup(e){return(t,n)=>{let r=LC;return z(),B(`div`,Xw,[H(`div`,Zw,[H(`div`,Qw,[U(r,{name:e.icon,class:`size-3.5`},null,8,[`name`])]),H(`span`,{class:`font-mono font-semibold text-highlighted text-sm uppercase`,textContent:pt(e.title)},null,8,$w)]),H(`div`,eT,[I(t.$slots,`default`)])])}}}),nT={base:`inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase`,variants:{color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{sm:`h-4 min-w-[16px] text-[10px]`,md:`h-5 min-w-[20px] text-[11px]`,lg:`h-6 min-w-[24px] text-[12px]`}},compoundVariants:[{color:`primary`,variant:`solid`,class:`text-inverted bg-primary`},{color:`secondary`,variant:`solid`,class:`text-inverted bg-secondary`},{color:`success`,variant:`solid`,class:`text-inverted bg-success`},{color:`info`,variant:`solid`,class:`text-inverted bg-info`},{color:`warning`,variant:`solid`,class:`text-inverted bg-warning`},{color:`error`,variant:`solid`,class:`text-inverted bg-error`},{color:`primary`,variant:`outline`,class:`ring ring-inset ring-primary/50 text-primary`},{color:`secondary`,variant:`outline`,class:`ring ring-inset ring-secondary/50 text-secondary`},{color:`success`,variant:`outline`,class:`ring ring-inset ring-success/50 text-success`},{color:`info`,variant:`outline`,class:`ring ring-inset ring-info/50 text-info`},{color:`warning`,variant:`outline`,class:`ring ring-inset ring-warning/50 text-warning`},{color:`error`,variant:`outline`,class:`ring ring-inset ring-error/50 text-error`},{color:`primary`,variant:`soft`,class:`text-primary bg-primary/10`},{color:`secondary`,variant:`soft`,class:`text-secondary bg-secondary/10`},{color:`success`,variant:`soft`,class:`text-success bg-success/10`},{color:`info`,variant:`soft`,class:`text-info bg-info/10`},{color:`warning`,variant:`soft`,class:`text-warning bg-warning/10`},{color:`error`,variant:`soft`,class:`text-error bg-error/10`},{color:`primary`,variant:`subtle`,class:`text-primary ring ring-inset ring-primary/25 bg-primary/10`},{color:`secondary`,variant:`subtle`,class:`text-secondary ring ring-inset ring-secondary/25 bg-secondary/10`},{color:`success`,variant:`subtle`,class:`text-success ring ring-inset ring-success/25 bg-success/10`},{color:`info`,variant:`subtle`,class:`text-info ring ring-inset ring-info/25 bg-info/10`},{color:`warning`,variant:`subtle`,class:`text-warning ring ring-inset ring-warning/25 bg-warning/10`},{color:`error`,variant:`subtle`,class:`text-error ring ring-inset ring-error/25 bg-error/10`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`}],defaultVariants:{variant:`outline`,color:`neutral`,size:`md`}},rT={__name:`Kbd`,props:{as:{type:null,required:!1,default:`kbd`},value:{type:null,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},class:{type:null,required:!1}},setup(e){let t=e,{getKbdKey:n}=cm(),r=om(),i=K(()=>Xx({extend:Xx(nT),...r.ui?.kbd||{}}));return(r,a)=>(z(),V(M(ig),{as:e.as,class:k(i.value({class:t.class,color:t.color,variant:t.variant,size:t.size}))},{default:P(()=>[I(r.$slots,`default`,{},()=>[$s(pt(M(n)(e.value)),1)])]),_:3},8,[`as`,`class`]))}},iT={slots:{content:`flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto`,arrow:`fill-default`,text:`truncate`,kbds:`hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5`,kbdsSize:`sm`}},aT={__name:`Tooltip`,props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=Xa(),a=om(),o=jh(hd(n,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),r),s=rb(cr(()=>n.portal)),c=cr(()=>fm(n.content,{side:`bottom`,sideOffset:8,collisionPadding:8})),l=cr(()=>n.arrow),u=K(()=>Xx({extend:Xx(iT),...a.ui?.tooltip||{}})({side:c.value.side}));return(t,r)=>(z(),V(M(Xy),G(M(o),{disabled:!(e.text||e.kbds?.length||i.content)||n.disabled}),{default:P(({open:r})=>[i.default||e.reference?(z(),V(M(tb),G({key:0},t.$attrs,{"as-child":``,reference:e.reference,class:n.class}),{default:P(()=>[I(t.$slots,`default`,{open:r})]),_:2},1040,[`reference`,`class`])):W(``,!0),U(M(eb),at(Zs(M(s))),{default:P(()=>[U(M($y),G(c.value,{"data-slot":`content`,class:u.value.content({class:[!i.default&&n.class,n.ui?.content]})}),{default:P(()=>[I(t.$slots,`content`,{ui:u.value},()=>[e.text?(z(),B(`span`,{key:0,"data-slot":`text`,class:k(u.value.text({class:n.ui?.text}))},pt(e.text),3)):W(``,!0),e.kbds?.length?(z(),B(`span`,{key:1,"data-slot":`kbds`,class:k(u.value.kbds({class:n.ui?.kbds}))},[(z(!0),B(R,null,Pa(e.kbds,(e,t)=>(z(),V(rT,G({key:t,size:n.ui?.kbdsSize||u.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):W(``,!0)]),e.arrow?(z(),V(M(Uy),G({key:0},l.value,{"data-slot":`arrow`,class:u.value.arrow({class:n.ui?.arrow})}),null,16,[`class`])):W(``,!0)]),_:3},16,[`class`])]),_:3},16)]),_:3},16,[`disabled`]))}},oT=F((e,{slots:t})=>{let n=Rn(Bw(e));return()=>{if(t.default)return t.default(n)}},{name:`UseClipboard`,props:[`source`,`read`,`navigator`,`copiedDuring`,`legacy`]});function sT(){let e=!1,t=Zn(!1);return(n,r)=>{if(t.value=r.value,e)return;e=!0;let i=Kw(n,r.value);L(t,e=>i.value=e)}}sT();var cT={class:`flex flex-col gap-y-2.5 font-mono`},lT=[`textContent`,`onClick`],uT=[`textContent`,`onClick`],dT=F({__name:`headers`,props:{headers:{}},setup(e){return(t,n)=>{let r=aT,i=tT;return z(),V(i,{title:`Request headers`,icon:`tabler:http-head`},{default:P(()=>[H(`ul`,cT,[(z(!0),B(R,null,Pa(e.headers,(e,t)=>(z(),B(`li`,{key:t,class:`flex items-baseline gap-x-2`},[U(M(oT),{source:t},{default:P(({copy:e,copied:n})=>[U(r,{text:t},{default:P(()=>[H(`span`,{class:k([`truncate transition-colors cursor-pointer`,[`text-muted uppercase`,n&&`text-success`]]),textContent:pt(t),onClick:t=>e()},null,10,lT)]),_:2},1032,[`text`])]),_:2},1032,[`source`]),n[0]||=H(`div`,{class:`border-muted border-b-2 border-dotted min-w-[15%] grow`},null,-1),U(M(oT),{source:e},{default:P(({copy:t,copied:n})=>[U(r,{text:e},{default:P(()=>[H(`span`,{class:k([`truncate transition-colors cursor-pointer`,n?`text-success`:void 0]),textContent:pt(e),onClick:e=>t()},null,10,uT)]),_:2},1032,[`text`])]),_:2},1032,[`source`])]))),128))])]),_:1})}}}),fT=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function pT(e){return mT(e)}function mT(e){return Array.isArray(e)?hT(e):e instanceof RegExp?e:typeof e==`object`?gT(e):e}function hT(e){let t=[];for(let n=0,r=e.length;n{for(let n in t)e[n]=t[n]}),e}function vT(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?vT(e.substring(0,e.length-1)):e.substr(~t+1)}var yT=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,bT=class{static hasCaptures(e){return e===null?!1:(yT.lastIndex=0,yT.test(e))}static replaceCaptures(e,t,n){return e.replace(yT,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function xT(e,t){return et?1:0}function ST(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;rthis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>OT(e.parent,t.parentScopes));return n?new AT(n.fontStyle,n.foreground,n.background):null}},DT=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!kT(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function kT(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var AT=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function jT(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new MT(l,u,e,o,s,c)}}return n}var MT=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},NT=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(NT||{});function PT(e,t){e.sort((e,t)=>{let n=xT(e.scope,t.scope);return n!==0||(n=ST(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new FT(t),o=new AT(n,a.getId(r),a.getId(i)),s=new RT(new LT(0,null,-1,0,0),[]);for(let t=0,n=e.length;te?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},RT=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),LT.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=e.containsBalancedBrackets(t)?1:0,d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=VT(r)),i!==null&&(u=i?1:0),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function BT(e){return e}function VT(e){return e}function HT(e,t){let n=[],r=WT(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(UT(i)){let e=[];do e.push(i),i=r.next();while(UT(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function UT(e){return!!e&&!!e.match(/[\w\.:]+/)}function WT(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function GT(e){typeof e.dispose==`function`&&e.dispose()}var KT=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},qT=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},JT=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},YT=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new KT(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new JT;for(let n of e)XT(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof KT){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function XT(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof KT?QT({baseGrammar:a,selfGrammar:i},r):ZT(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new KT(e))}function ZT(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];$T([r],t,n)}}function QT(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&$T(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&$T(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function $T(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?_T({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&$T(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=aE(i);switch(a.kind){case 0:QT({...t,selfGrammar:t.baseGrammar},n);break;case 1:QT(t,n);break;case 2:ZT(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?ZT(a.ruleName,i,n):QT(i,n)}else a.kind===4?n.add(new qT(a.scopeName,a.ruleName)):n.add(new KT(a.scopeName));break}}}var eE=class{kind=0},tE=class{kind=1},nE=class{constructor(e){this.ruleName=e}kind=2},rE=class{constructor(e){this.scopeName=e}kind=3},iE=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function aE(e){if(e===`$base`)return new eE;if(e===`$self`)return new tE;let t=e.indexOf(`#`);return t===-1?new rE(e):t===0?new nE(e.substring(1)):new iE(e.substring(0,t),e.substring(t+1))}var oE=/\\(\d+)/,sE=/\\(\d+)/g,cE=-1,lE=-2;function uE(e){return e}function dE(e){return e}var fE=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=bT.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=bT.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${vT(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:bT.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:bT.replaceCaptures(this._contentName,e,t)}},pE=class extends fE{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},mE=class extends fE{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new yE(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new bE,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},hE=class extends fE{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new bE,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},gE=class extends fE{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new yE(i,this.id),this.beginCaptures=a,this._end=new yE(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new bE;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},_E=class extends fE{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new yE(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new yE(o,lE),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new bE;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new bE,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},vE=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new pE(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new mE(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=_T({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new hE(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new _E(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new gE(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;ae.substring(t.start,t.end));return sE.lastIndex=0,this.source.replace(sE,(e,t)=>wT(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;ie.source),this._items.map(e=>e.ruleId)),this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new xE(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},xE=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;tnew SE(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},wE=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>wT(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var TE=!1,EE=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function DE(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=OE(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new EE(i,!0);f()}return new EE(i,!1);function f(){let o=kE(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===cE){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),FE(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof gE){let r=o;FE(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof _E){let r=o;FE(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(FE(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function OE(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof _E&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=NE(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==lE){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),FE(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function kE(e,t,n,r,i,a){let o=AE(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=jE(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function ME(e,t,n,r,i){return TE?{ruleScanner:e.compile(t,n),findOptions:PE(r,i)}:{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function NE(e,t,n,r,i){return TE?{ruleScanner:e.compileWhile(t,n),findOptions:PE(r,i)}:{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function PE(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function FE(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;tu)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));DE(e,p,n&&d.start===0,d.start,f,i,!1,0),GT(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new IE(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var IE=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function LE(e,t,n,r,i,a,o,s){return new VE(e,t,n,r,i,a,o,s)}function RE(e,t,n,r,i){let a=HT(t,zE),o=vE.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function zE(e,t){if(t.length{for(let r=n;rn&&e.substr(0,n)===t&&e[n]===`.`}var VE=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new CE(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=HE(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=HT(e,zE);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)RE(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&RE(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(uE(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[dE(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=HE(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=vE.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===WE.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=zT.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?UE.createRootAndLookUpScopeName(a,r,this):UE.createRoot(`unknown`,r),t=new WE(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=` +`;let a=this.createOnigString(e),o=a.content.length,s=new KE(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=DE(this,a,i,0,t,s,!0,r);return GT(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function HE(e,t){return e=pT(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var UE=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=DT.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new DT(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new DT(null,t),o=r.themeProvider.themeMatch(a);return new e(null,a,e.mergeAttributes(n,i,o))}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(!0)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),zT.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a);return new e(t,a,e.mergeAttributes(t.tokenAttributes,i,o))}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},WE=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?UE.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:dE(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=UE.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,uE(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,UE.fromExtension(r,n.contentNameScopesList))}},GE=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):HT(e,zE).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>HT(e,zE).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},KE=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=zT.set(n,0,BT(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=zT.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},YE=WE.NULL;const XE=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`];var ZE=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};ZE.prototype.normal={},ZE.prototype.property={},ZE.prototype.space=void 0;function QE(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new ZE(n,r,t)}function $E(e){return e.toLowerCase()}var eD=class{constructor(e,t){this.attribute=t,this.property=e}};eD.prototype.attribute=``,eD.prototype.booleanish=!1,eD.prototype.boolean=!1,eD.prototype.commaOrSpaceSeparated=!1,eD.prototype.commaSeparated=!1,eD.prototype.defined=!1,eD.prototype.mustUseProperty=!1,eD.prototype.number=!1,eD.prototype.overloadedBoolean=!1,eD.prototype.property=``,eD.prototype.spaceSeparated=!1,eD.prototype.space=void 0;var tD=n({boolean:()=>Z,booleanish:()=>rD,commaOrSpaceSeparated:()=>sD,commaSeparated:()=>oD,number:()=>Q,overloadedBoolean:()=>iD,spaceSeparated:()=>aD},1),nD=0;const Z=cD(),rD=cD(),iD=cD(),Q=cD(),aD=cD(),oD=cD(),sD=cD();function cD(){return 2**++nD}var lD=Object.keys(tD),uD=class extends eD{constructor(e,t,n,r){let i=-1;if(super(e,t),dD(this,`space`,r),typeof n==`number`)for(;++i4&&n.slice(0,4)===`data`&&CD.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(SD,ED);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!SD.test(e)){let n=e.replace(xD,TD);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=uD}return new i(r,t)}function TD(e){return`-`+e.toLowerCase()}function ED(e){return e.charAt(1).toUpperCase()}const DD=QE([pD,gD,vD,yD,bD],`html`),OD=QE([pD,_D,vD,yD,bD],`svg`);var kD={}.hasOwnProperty;function AD(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&kD.call(t,e)){let n=String(t[e]);i=kD.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var jD=/["&'<>`]/g,MD=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ND=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,PD=/[|\\{}()[\]^$+*?.]/g,FD=new WeakMap;function ID(e,t){if(e=e.replace(t.subset?LD(t.subset):jD,r),t.subset||t.escapeOnly)return e;return e.replace(MD,n).replace(ND,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function LD(e){let t=FD.get(e);return t||(t=RD(e),FD.set(e,t)),t}function RD(e){let t=[],n=-1;for(;++n`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},GD=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`];var KD={}.hasOwnProperty,qD={},JD;for(JD in WD)KD.call(WD,JD)&&(qD[WD[JD]]=JD);var YD=/[^\dA-Za-z]/;function XD(e,t,n,r){let i=String.fromCharCode(e);if(KD.call(qD,i)){let e=qD[i],a=`&`+e;return n&&UD.includes(e)&&!GD.includes(e)&&(!r||t&&t!==61&&YD.test(String.fromCharCode(t)))?a:a+`;`}return``}function ZD(e,t,n){let r=BD(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=XD(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=HD(e,t,n.omitOptionalSemicolons);i.length|^->||--!>|`],tO=[`<`,`>`];function nO(e,t,n,r){return r.settings.bogusComments?``:``;function i(e){return QD(e,Object.assign({},r.settings.characterReferences,{subset:tO}))}}function rO(e,t,n,r){return``}function iO(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function aO(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}function oO(e){return e.join(` `).trim()}var sO=/[ \t\n\f\r]/g;function cO(e){return typeof e==`object`?e.type===`text`?lO(e.value):!1:lO(e)}function lO(e){return e.replace(sO,``)===``}const uO=pO(1),dO=pO(-1);var fO=[];function pO(e){return t;function t(t,n,r){let i=t?t.children:fO,a=(n||0)+e,o=i[a];if(!r)for(;o&&cO(o);)a+=e,o=i[a];return o}}var mO={}.hasOwnProperty;function hO(e){return t;function t(t,n,r){return mO.call(e,t.tagName)&&e[t.tagName](t,n,r)}}const gO=hO({body:yO,caption:_O,colgroup:_O,dd:CO,dt:SO,head:_O,html:vO,li:xO,optgroup:TO,option:EO,p:bO,rp:wO,rt:wO,tbody:OO,td:jO,tfoot:kO,th:jO,thead:DO,tr:AO});function _O(e,t,n){let r=uO(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&cO(r.value.charAt(0)))}function vO(e,t,n){let r=uO(n,t);return!r||r.type!==`comment`}function yO(e,t,n){let r=uO(n,t);return!r||r.type!==`comment`}function bO(e,t,n){let r=uO(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||!(n.type===`element`&&(n.tagName===`a`||n.tagName===`audio`||n.tagName===`del`||n.tagName===`ins`||n.tagName===`map`||n.tagName===`noscript`||n.tagName===`video`))}function xO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&r.tagName===`li`}function SO(e,t,n){let r=uO(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function CO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function wO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function TO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function EO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function DO(e,t,n){let r=uO(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function OO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function kO(e,t,n){return!uO(n,t)}function AO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function jO(e,t,n){let r=uO(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}const MO=hO({body:FO,colgroup:IO,head:PO,html:NO,tbody:LO});function NO(e){let t=uO(e,-1);return!t||t.type!==`comment`}function PO(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function FO(e){let t=uO(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&cO(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function IO(e,t,n){let r=dO(n,t),i=uO(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&gO(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function LO(e,t,n){let r=dO(n,t),i=uO(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&gO(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var RO={name:[[` +\f\r &/=>`.split(``),` +\f\r "&'/=>\``.split(``)],[`\0 +\f\r "&'/<=>`.split(``),`\0 +\f\r "&'/<=>\``.split(``)]],unquoted:[[` +\f\r &>`.split(``),`\0 +\f\r "&'<=>\``.split(``)],[`\0 +\f\r "&'<=>\``.split(``),`\0 +\f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function zO(e,t,n,r){let i=r.schema,a=i.space===`svg`?!1:r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=OD);let l=BO(r,e.properties),u=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,u&&(o=!1),(l||!a||!MO(e,t,n))&&(s.push(`<`,e.tagName,l?` `+l:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=l.charAt(l.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(u),!o&&(!a||!gO(e,t,n))&&s.push(``),s.join(``)}function BO(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=VO(e,i,t[i]);r&&n.push(r)}}for(;++riO(n,e.alternative)&&(o=e.alternative),s=o+QD(n,Object.assign({},e.settings.characterReferences,{subset:(o===`'`?RO.single:RO.double)[i][a],attribute:!0}))+o),c+(s&&`=`+s))}var HO=[`<`,`&`];function UO(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:QD(e.value,Object.assign({},r.settings.characterReferences,{subset:HO}))}function WO(e,t,n,r){return r.settings.allowDangerousHtml?e.value:UO(e,t,n,r)}function GO(e,t,n,r){return r.all(e)}const KO=AD(`type`,{invalid:qO,unknown:JO,handlers:{comment:nO,doctype:rO,element:zO,raw:WO,root:GO,text:UO}});function qO(e){throw Error("Expected node, not `"+e+"`")}function JO(e){let t=e;throw Error("Cannot compile unknown node `"+t.type+"`")}var YO={},XO={},ZO=[];function QO(e,t){let n=t||YO,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:$O,all:ek,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||XE,characterReferences:n.characterReferences||XO,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?OD:DD,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function $O(e,t,n){return KO(e,t,n,this)}function ek(e){let t=[],n=e&&e.children||ZO,r=-1;for(;++re.default||e)}function ak(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function ok(e){return e===`ansi`||ak(e)}function sk(e){return e===`none`}function ck(e){return sk(e)}function lk(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(/\s+/g);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}function uk(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(/(\r?\n)/g),r=0,i=[];for(let e=0;ee);function n(n){if(n===e.length)return{line:t.length-1,character:t[t.length-1].length};let r=n,i=0;for(let e of t){if(rn&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return ne-t);return n.length?e.map(e=>e.flatMap(e=>{let t=n.filter(t=>e.offsett-e.offset).sort((e,t)=>e-t);return t.length?mk(e,t):e})):e}function gk(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>_k(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&pk.includes(a))if(r===fk&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new fT('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');c[a]=`light-dark(${o[e][a]||`inherit`}, ${o[r][a]||`inherit`})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s;else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function _k(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&NT.Italic&&(t[`font-style`]=`italic`),e.fontStyle&NT.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&NT.Underline&&n.push(`underline`),e.fontStyle&NT.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function vk(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}var yk=new WeakMap;function bk(e,t){yk.set(e,t)}function xk(e){return yk.get(e)}var Sk=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(rk(n).map(e=>[e,YE])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return Ck(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Ck(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function wk(e,t){if(!(e instanceof Sk))throw new fT(`Invalid grammar state`);return e.getInternalStack(t)}function Tk(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=function(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new fT(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...r.indexToPos(e),offset:e}}else{let t=r.lines[e.line];if(t===void 0)throw new fT(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${r.lines.length}`);let n=e.character;if(n<0&&(n=t.length+n),n<0||n>t.length)throw new fT(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:n,offset:r.posToIndex(e.line,n)}}},r=dk(t.source),i=(t.options.decorations||[]).map(e=>({...e,start:n(e.start),end:n(e.end)}));Ek(i),e.set(t.meta,{decorations:i,converter:r,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return hk(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=Array.from(e.children).filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new fT(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;ee);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&lk(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.linea(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function Ek(e){for(let t=0;tn.end.offset)throw new fT(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;rNumber.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}else if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function Fk(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:`resetAll`});else if(r<=9)Mk[r]&&t.push({type:`setDecoration`,value:Mk[r]});else if(r<=29){let e=Mk[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:jk[r-30]}});else if(r===38){let n=Pk(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:jk[r-40]}});else if(r===48){let n=Pk(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:jk[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:jk[r-100+8]}})}return t}function Ik(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=Nk(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=Fk(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(aMath.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||zk[t]]}))),o=Ik();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=nk(i,r),o=nk(o,r),n.decorations.has(`dim`)&&(i=Vk(i));let s=NT.None;return n.decorations.has(`bold`)&&(s|=NT.Bold),n.decorations.has(`italic`)&&(s|=NT.Italic),n.decorations.has(`underline`)&&(s|=NT.Underline),n.decorations.has(`strikethrough`)&&(s|=NT.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function Vk(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}else if(e.length===6)return`#${e}80`;else if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}else if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:e}function Hk(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n,i=e.resolveLangAlias(n.lang||`text`);if(ak(i)||sk(r))return uk(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:a,colorMap:o}=e.setTheme(r);if(i===`ansi`)return Bk(a,t,n);let s=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==s.name)throw new fT(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${s.name}"`);if(!n.grammarState.themes.includes(a.name))throw new fT(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${a.name}"`)}return Wk(t,s,a,o,n)}function Uk(...e){if(e.length===2)return xk(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(ak(i)||sk(a))throw new fT(`Plain language does not have grammar state`);if(i===`ansi`)throw new fT(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new Sk(Gk(n,c,o,s,r).stateStack,c.name,o.name)}function Wk(e,t,n,r,i){let a=Gk(e,t,n,r,i),o=new Sk(a.stateStack,t.name,n.name);return bk(a.tokens,o),a.tokens}function Gk(e,t,n,r,i){let a=tk(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500}=i,c=uk(e),l=i.grammarState?wk(i.grammarState,n.name)??YE:i.grammarContextCode==null?YE:Gk(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,u=[],d=[];for(let e=0,f=c.length;e0&&f.length>=o){u=[],d.push([{content:f,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;i.includeExplanation&&(m=t.tokenizeLine(f,l,s),h=m.tokens,g=0);let _=t.tokenizeLine2(f,l,s),v=_.tokens.length/2;for(let e=0;ee.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(/ /))})}d.explanation=[];let r=0;for(;t+r({scopeName:e}))}function qk(e,t){let n=[];for(let r=0,i=t.length;r=0&&i>=0;)Jk(e[r],n[i])&&--r,--i;return r===-1}function Xk(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(Yk(e,t,n)){r.push(a);break}return r}function Zk(e,t,n){let r=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),i=r.map(r=>{let i=Hk(e,t,{...n,theme:r.theme});return{tokens:i,state:xk(i),theme:typeof r.theme==`string`?r.theme:r.theme.name}}),a=Qk(...i.map(e=>e.tokens)),o=a[0].map((e,t)=>e.map((e,i)=>{let o={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(o.explanation=e.explanation),a.forEach((e,n)=>{let{content:a,explanation:s,offset:c,...l}=e[t][i];o.variants[r[n].color]=l}),o})),s=i[0].state?new Sk(Object.fromEntries(i.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),i[0].state.lang):void 0;return s&&bk(o,s),o}function Qk(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;re[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;te[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:t.color===l?1:0);if(f.length===0)throw new fT("`themes` option must not be empty");let p=Zk(e,t,n);if(c=xk(p),l&&fk!==l&&!f.find(e=>e.color===l))throw new fT(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>gk(e,h,u,l,d))),c&&bk(a,c);let g=f.map(e=>tk(e.theme,n));i=eA(f,m,g,u,l,`fg`,d),r=eA(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=tk(n.theme,n);a=Hk(e,t,n);let l=e.getTheme(n.theme);r=nk(l.bg,s),i=nk(l.fg,s),o=l.name,c=xk(a)}else throw new fT("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function eA(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=nk(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===fk&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new fT('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${nk(t[r][a],n[r])||`inherit`}, ${nk(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}function tA(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>tA(e,t,n),codeToTokens:(t,n)=>$k(e,t,n)}){let i=t;for(let e of kk(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=$k(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=rA(a):d===`never`&&(a=iA(a)),f&&(a=aA(a));let p={...r,get source(){return i}};for(let e of kk(n))a=e.tokens?.call(p,a)||a;return nA(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function nA(e,t,n,r=xk(e)){let i=kk(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(t.rootStyle==null?l.style=`background-color:${t.bg};color:${t.fg}`:l.style=t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[]},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:lk,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:` +`}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=vk(a.htmlStyle||_k(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&bk(m,r),m}function rA(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&NT.Underline||i.fontStyle&NT.Strikethrough));o&&i.content.match(/^\s+$/)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function iA(e){return e.map(e=>e.flatMap(e=>{if(e.content.match(/^\s+$/))return e;let t=e.content.match(/^(\s*)(.*?)(\s*)$/);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function aA(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t[t.length-1],r=vk(e.htmlStyle||_k(e)),i=vk(n.htmlStyle||_k(n)),a=e.fontStyle&&(e.fontStyle&NT.Underline||e.fontStyle&NT.Strikethrough),o=n.fontStyle&&(n.fontStyle&NT.Underline||n.fontStyle&NT.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var oA=QO;function sA(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>tA(e,t,n),codeToTokens:(t,n)=>$k(e,t,n)},i=oA(tA(e,t,n,r));for(let e of kk(n))i=e.postprocess?.call(r,i,n)||i;return i}var cA={light:`#333333`,dark:`#bbbbbb`},lA={light:`#fffffe`,dark:`#1e1e1e`},uA=`__shiki_resolved`;function dA(e){if(e?.[uA])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?cA.light:cA.dark,n||=t.type===`light`?lA.light:lA.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,uA,{enumerable:!1,writable:!1,value:!0}),t}async function fA(e){return Array.from(new Set((await Promise.all(e.filter(e=>!ok(e)).map(async e=>await ik(e).then(e=>Array.isArray(e)?e:[e])))).flat()))}async function pA(e){return(await Promise.all(e.map(async e=>ck(e)?null:dA(await ik(e))))).filter(e=>!!e)}var mA=3,hA=!1;function gA(e,t=3){if(mA&&!(typeof mA==`number`&&t>mA)){if(hA)throw Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var _A=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function vA(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new _A(`Circular alias \`${Array.from(n).join(` -> `)} -> ${e}\``);n.add(e)}}return e}var yA=class extends JE{constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=dA(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=ET.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=vA(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=Array.from(this._langGraph.entries()),n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new _A(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},bA=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},xA=0;function SA(e){xA+=1,e.warnings!==!1&&xA>=10&&xA%10==0&&console.warn(`[Shiki] ${xA} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new _A("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(dA),i=new yA(new bA(e.engine,n),r,n,e.langAlias),a;function o(t){return vA(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new _A(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new _A(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await fA(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await pA(e))}function g(){if(t)throw new _A(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--xA)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function CA(e){e.engine||gA("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([pA(e.themes||[]),fA(e.langs||[]),e.engine]);return SA({...e,themes:t,langs:n,engine:r})}async function wA(e){let t=await CA(e);return{getLastGrammarState:(...e)=>Uk(t,...e),codeToTokensBase:(e,n)=>Hk(t,e,n),codeToTokensWithThemes:(e,n)=>Zk(t,e,n),codeToTokens:(e,n)=>$k(t,e,n),codeToHast:(e,n)=>tA(t,e,n),codeToHtml:(e,n)=>sA(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function TA(e){return e.replace(/[- _]+/g,``).toLowerCase()}var EA=t((()=>{})),DA,OA=t((()=>{DA=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`})),kA=t((()=>{Object.freeze({DEFAULT:`DEFAULT`,CHAR_CLASS:`CHAR_CLASS`})})),AA,jA=t((()=>{OA(),kA(),new RegExp(String.raw`(?${DA})|(?\((?:\?<[^>]+>)?)|\\?.`,`gsu`),AA=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,new RegExp(String.raw` +\\(?: \d+ + | c[A-Za-z] + | [gk]<[^>]+> + | [pPu]\{[^\}]+\} + | u[A-Fa-f\d]{4} + | x[A-Fa-f\d]{2} + ) +| \((?: \? (?: [:=!>] + | <(?:[=!]|[^>]+>) + | [A-Za-z\-]+: + | \(DEFINE\) + ))? +| (?${AA})(?[?+]?)(?[?*+\{]?) +| \\?. +`.replace(/\s+/g,``),`gsu`)})),MA=t((()=>{jA()})),NA,PA,FA,IA=t((()=>{kA(),NA=String.raw,PA=NA`\(\?R=(?[^\)]+)\)|${NA`\\g<(?[^>&]+)&R=(?[^>]+)>`}`,FA=NA`\(\?<(?![=!])(?[^>]+)>`,NA`${FA}|(?\()(?!\?)`,new RegExp(NA`${FA}|${PA}|\(\?|\\?.`,`gsu`)}));function LA(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function RA(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function zA(e){let t=WA(e);return[t.toLowerCase(),t]}function BA(e,t){return RA(e,t).map(e=>zA(e))}function VA(e,t,n,r){if(e.index+=t,e.input=n,r){let n=e.indices;for(let e=0;e{let n=r[e];n&&(r[e]=[n[0]+t,n[1]+t])})}}function HA(e,t){let n=new Map;for(let t of e)n.set(t,{hidden:!0});for(let[e,r]of t)for(let t of r)LA(n,t,{}).transferTo=e;return n}function UA(e){let t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,r=0,i=0,a;for(;a=t.exec(e);){let{0:e,groups:{capture:t,name:o}}=a;e===`[`?r++:r?e===`]`&&r--:t&&(i++,o&&n.set(i,o))}return n}var WA,GA,KA,$,qA=t((()=>{EA(),MA(),IA(),WA=String.fromCodePoint,GA=String.raw,KA={flagGroups:(()=>!0)(),unicodeSets:(()=>!0)()},KA.bugFlagVLiteralHyphenIsRange=KA.unicodeSets?(()=>{try{new RegExp(GA`[\d\-a]`,`v`)}catch{return!0}return!1})():!1,KA.bugNestedClassIgnoresNegation=KA.unicodeSets&&RegExp(`[[^a]]`,`v`).test(`a`),WA(304),WA(305),GA`[\p{L}\p{M}\p{N}\p{Pc}]`,`C Other +Cc Control cntrl +Cf Format +Cn Unassigned +Co Private_Use +Cs Surrogate +L Letter +LC Cased_Letter +Ll Lowercase_Letter +Lm Modifier_Letter +Lo Other_Letter +Lt Titlecase_Letter +Lu Uppercase_Letter +M Mark Combining_Mark +Mc Spacing_Mark +Me Enclosing_Mark +Mn Nonspacing_Mark +N Number +Nd Decimal_Number digit +Nl Letter_Number +No Other_Number +P Punctuation punct +Pc Connector_Punctuation +Pd Dash_Punctuation +Pe Close_Punctuation +Pf Final_Punctuation +Pi Initial_Punctuation +Po Other_Punctuation +Ps Open_Punctuation +S Symbol +Sc Currency_Symbol +Sk Modifier_Symbol +Sm Math_Symbol +So Other_Symbol +Z Separator +Zl Line_Separator +Zp Paragraph_Separator +Zs Space_Separator +ASCII +ASCII_Hex_Digit AHex +Alphabetic Alpha +Any +Assigned +Bidi_Control Bidi_C +Bidi_Mirrored Bidi_M +Case_Ignorable CI +Cased +Changes_When_Casefolded CWCF +Changes_When_Casemapped CWCM +Changes_When_Lowercased CWL +Changes_When_NFKC_Casefolded CWKCF +Changes_When_Titlecased CWT +Changes_When_Uppercased CWU +Dash +Default_Ignorable_Code_Point DI +Deprecated Dep +Diacritic Dia +Emoji +Emoji_Component EComp +Emoji_Modifier EMod +Emoji_Modifier_Base EBase +Emoji_Presentation EPres +Extended_Pictographic ExtPict +Extender Ext +Grapheme_Base Gr_Base +Grapheme_Extend Gr_Ext +Hex_Digit Hex +IDS_Binary_Operator IDSB +IDS_Trinary_Operator IDST +ID_Continue IDC +ID_Start IDS +Ideographic Ideo +Join_Control Join_C +Logical_Order_Exception LOE +Lowercase Lower +Math +Noncharacter_Code_Point NChar +Pattern_Syntax Pat_Syn +Pattern_White_Space Pat_WS +Quotation_Mark QMark +Radical +Regional_Indicator RI +Sentence_Terminal STerm +Soft_Dotted SD +Terminal_Punctuation Term +Unified_Ideograph UIdeo +Uppercase Upper +Variation_Selector VS +White_Space space +XID_Continue XIDC +XID_Start XIDS`.split(/\s/).map(e=>[TA(e),e]),WA(383),WA(383),WA(223),WA(7838),WA(107),WA(8490),WA(229),WA(8491),WA(969),WA(8486),new Map([zA(453),zA(456),zA(459),zA(498),...BA(8072,8079),...BA(8088,8095),...BA(8104,8111),zA(8124),zA(8140),zA(8188)]),GA`[\p{Alpha}\p{Nd}]`,GA`\p{Alpha}`,GA`\p{ASCII}`,GA`[\p{Zs}\t]`,GA`\p{Cc}`,GA`\p{Nd}`,GA`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`,GA`\p{Lower}`,GA`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`,GA`[\p{P}\p{S}]`,GA`\p{space}`,GA`\p{Upper}`,GA`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`,GA`\p{AHex}`,GA`\t`,GA`\n`,GA`\v`,GA`\f`,GA`\r`,GA`\u2028`,GA`\u2029`,GA`\uFEFF`,$=class e extends RegExp{#e=new Map;#t=null;#n;#r=null;#i=null;rawOptions={};get source(){return this.#n||`(?:)`}constructor(t,n,r){let i=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw Error(`Cannot provide options when copying a regexp`);let i=t;super(i,n),this.#n=i.source,i instanceof e&&(this.#e=i.#e,this.#r=i.#r,this.#i=i.#i,this.rawOptions=i.rawOptions)}else{let e={hiddenCaptures:[],strategy:null,transfers:[],...r};super(i?``:t,n),this.#n=t,this.#e=HA(e.hiddenCaptures,e.transfers),this.#i=e.strategy,this.rawOptions=r??{}}i||(this.#t=this)}exec(t){if(!this.#t){let{lazyCompile:t,...n}=this.rawOptions;this.#t=new e(this.#n,this.flags,n)}let n=this.global||this.sticky,r=this.lastIndex;if(this.#i===`clip_search`&&n&&r){this.lastIndex=0;let e=this.#a(t.slice(r));return e&&(VA(e,r,t,this.hasIndices),this.lastIndex+=r),e}return this.#a(t)}#a(e){this.#t.lastIndex=this.lastIndex;let t=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!t||!this.#e.size)return t;let n=[...t];t.length=1;let r;this.hasIndices&&(r=[...t.indices],t.indices.length=1);let i=[0];for(let e=1;e{if(typeof e!=`string`)return e;let t=r?.get(e);if(t){if(t instanceof RegExp)return t;if(n)return null;throw t}try{let t=i(e);return r?.set(e,t),t}catch(t){if(r?.set(e,t),n)return null;throw t}})}regexps;findNextMatchSync(e,t,n){let r=typeof e==`string`?e:e.content,i=[];function a(e,t,n=0){return{index:e,captureIndices:t.indices.map(e=>e==null?{start:JA,end:JA,length:0}:{start:e[0]+n,end:e[1]+n,length:e[1]-e[0]})}}for(let e=0;ee[1].index));for(let[t,n,r]of i)if(n.index===e)return a(t,n,r)}return null}};function XA(){let e={cache:new Map,regexConstructor:()=>{throw Error(`JavaScriptRawEngine: only support precompiled grammar`)}};return{createScanner(t){return new YA(t,e)},createString(e){return{content:e}}}}var ZA=`modulepreload`,QA=function(e,t){return new URL(e,t).href},$A={};const ej=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=QA(t,n),t in $A)return;$A[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:ZA,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var tj,nj,rj=t((()=>{qA(),tj=Object.freeze({displayName:`JavaScript`,name:`javascript`,patterns:[{include:`#directives`},{include:`#statements`},{include:`#shebang`}],repository:{"access-modifier":{match:RegExp(`(?\\?\\[]|^await|[^\\$\\._\\p{Alpha}\\p{Nd}]await|^return|[^\\$\\._\\p{Alpha}\\p{Nd}]return|^yield|[^\\$\\._\\p{Alpha}\\p{Nd}]yield|^throw|[^\\$\\._\\p{Alpha}\\p{Nd}]throw|^in|[^\\$\\._\\p{Alpha}\\p{Nd}]in|^of|[^\\$\\._\\p{Alpha}\\p{Nd}]of|^typeof|[^\\$\\._\\p{Alpha}\\p{Nd}]typeof|&&|\\|\\||\\*)\\p{space}*(\\{)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.block.js`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.block.js`}},name:`meta.objectliteral.js`,patterns:[{include:`#object-member`}]},"array-binding-pattern":{begin:RegExp(`(?:(\\.\\.\\.)\\p{space}*)?(\\[)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.rest.js`},2:{name:`punctuation.definition.binding-pattern.array.js`}},end:RegExp(`\\]`,`dgv`),endCaptures:{0:{name:`punctuation.definition.binding-pattern.array.js`}},patterns:[{include:`#binding-element`},{include:`#punctuation-comma`}]},"array-binding-pattern-const":{begin:RegExp(`(?:(\\.\\.\\.)\\p{space}*)?(\\[)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.rest.js`},2:{name:`punctuation.definition.binding-pattern.array.js`}},end:RegExp(`\\]`,`dgv`),endCaptures:{0:{name:`punctuation.definition.binding-pattern.array.js`}},patterns:[{include:`#binding-element-const`},{include:`#punctuation-comma`}]},"array-literal":{begin:RegExp(`\\p{space}*(\\[)`,`dgv`),beginCaptures:{1:{name:`meta.brace.square.js`}},end:RegExp(`\\]`,`dgv`),endCaptures:{0:{name:`meta.brace.square.js`}},name:`meta.array.literal.js`,patterns:[{include:`#expression`},{include:`#punctuation-comma`}]},"arrow-function":{patterns:[{captures:{1:{name:`storage.modifier.async.js`},2:{name:`variable.parameter.js`}},match:RegExp(`(?:(?)`,`dgv`),name:`meta.arrow.js`},{begin:RegExp(`(?:(?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`}},end:RegExp(`(?==>|\\{|^(\\p{space}*(export|function|class|interface|let|var|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\p{space}+))`,`dgv`),name:`meta.arrow.js`,patterns:[{include:`#comment`},{include:`#type-parameters`},{include:`#function-parameters`},{include:`#arrow-return-type`},{include:`#possibly-arrow-return-type`}]},{begin:RegExp(`=>`,`dgv`),beginCaptures:{0:{name:`storage.type.function.arrow.js`}},end:RegExp(`((?<=[\\}\\P{space}])(?)|((?!\\{)(?=\\P{space})))(?!\\/[\\*\\/])`,`dgv`),name:`meta.arrow.js`,patterns:[{include:`#single-line-comment-consuming-line-ending`},{include:`#decl-block`},{include:`#expression`}]}]},"arrow-return-type":{begin:RegExp(`(?<=\\))\\p{space}*(:)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.type.annotation.js`}},end:RegExp(`(?==>|\\{|^(\\p{space}*(export|function|class|interface|let|var|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\p{space}+))`,`dgv`),name:`meta.return.type.arrow.js`,patterns:[{include:`#arrow-return-type-body`}]},"arrow-return-type-body":{patterns:[{begin:RegExp(`(?<=:)(?=\\p{space}*\\{)`,`dgv`),end:RegExp(`(?<=\\})`,`dgv`),patterns:[{include:`#type-object`}]},{include:`#type-predicate-operator`},{include:`#type`}]},"async-modifier":{match:RegExp(`(?\\p{space}*(?=\\n?$))`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.comment.js`}},end:RegExp(`(?=(?=\\n?$))`,`dgv`),name:`comment.line.triple-slash.directive.js`,patterns:[{begin:RegExp(`(<)(reference|amd-dependency|amd-module)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.directive.js`},2:{name:`entity.name.tag.directive.js`}},end:RegExp(`\\/>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.directive.js`}},name:`meta.tag.js`,patterns:[{match:RegExp(`path|types|no-default-lib|lib|name|resolution-mode`,`dgv`),name:`entity.other.attribute-name.directive.js`},{match:RegExp(`=`,`dgv`),name:`keyword.operator.assignment.js`},{include:`#string`}]}]},docblock:{patterns:[{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`constant.language.access-type.jsdoc`}},match:RegExp(`((@)a(?:ccess|pi))\\p{space}+(p(?:rivate|rotected|ublic))\\b`,`dgv`)},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`entity.name.type.instance.jsdoc`},4:{name:`punctuation.definition.bracket.angle.begin.jsdoc`},5:{name:`constant.other.email.link.underline.jsdoc`},6:{name:`punctuation.definition.bracket.angle.end.jsdoc`}},match:RegExp(`((@)author)\\p{space}+([^\\*\\/\\<\\>\\@\\p{space}](?:[^\\*\\/\\<\\>\\@]|\\*[^\\/])*)(?:\\p{space}*(<)([^\\>\\p{space}]+)(>))?`,`dgv`)},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`entity.name.type.instance.jsdoc`},4:{name:`keyword.operator.control.jsdoc`},5:{name:`entity.name.type.instance.jsdoc`}},match:RegExp(`((@)borrows)\\p{space}+((?:[^\\*\\/\\@\\p{space}]|\\*[^\\/])+)\\p{space}+(as)\\p{space}+((?:[^\\*\\/\\@\\p{space}]|\\*[^\\/])+)`,`dgv`)},{begin:RegExp(`((@)example)\\p{space}+`,`dgv`),beginCaptures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`}},end:RegExp(`(?=@|\\*\\/)`,`dgv`),name:`meta.example.jsdoc`,patterns:[{match:RegExp(`^\\p{space}\\*\\p{space}+`,`dgv`)},{begin:RegExp(`(<)caption(>)`,`dgvy`),beginCaptures:{0:{name:`entity.name.tag.inline.jsdoc`},1:{name:`punctuation.definition.bracket.angle.begin.jsdoc`},2:{name:`punctuation.definition.bracket.angle.end.jsdoc`}},contentName:`constant.other.description.jsdoc`,end:RegExp(`(<\\/)caption(>)|(?=\\*\\/)`,`dgv`),endCaptures:{0:{name:`entity.name.tag.inline.jsdoc`},1:{name:`punctuation.definition.bracket.angle.begin.jsdoc`},2:{name:`punctuation.definition.bracket.angle.end.jsdoc`}}},{captures:{0:{name:`source.embedded.js`}},match:RegExp(`[^\\*\\@\\p{space}](?:[^\\*]|\\*[^\\/])*`,`dgv`)}]},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`constant.language.symbol-type.jsdoc`}},match:RegExp(`((@)kind)\\p{space}+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b`,`dgv`)},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`variable.other.link.underline.jsdoc`},4:{name:`entity.name.type.instance.jsdoc`}},match:RegExp(`((@)see)\\p{space}+(?:((?=https?:\\/\\/)(?:[^\\*\\p{space}]|\\*[^\\/])+)|((?!https?:\\/\\/|(?:\\[[^\\]\\[]*\\])?\\{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^\\*\\/\\@\\p{space}]|\\*[^\\/])+))`,`dgv`)},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`variable.other.jsdoc`}},match:RegExp(`((@)template)\\p{space}+([\\$A-Z_a-z][\\]\\$\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:\\p{space}*,\\p{space}*[\\$A-Z_a-z][\\]\\$\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]*)*)`,`dgv`)},{begin:RegExp(`((@)template)\\p{space}+(?=\\{)`,`dgv`),beginCaptures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`}},end:RegExp(`(?=\\p{space}|\\*\\/|[^\\]\\$A-\\[_a-\\{\\}])`,`dgv`),patterns:[{include:`#jsdoctype`},{match:RegExp(`([\\$A-Z_a-z][\\]\\$\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]*)`,`dgv`),name:`variable.other.jsdoc`}]},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`variable.other.jsdoc`}},match:RegExp(`((@)(?:arg|argument|const|constant|member|namespace|param|var))\\p{space}+([\\$A-Z_a-z][\\]\\$\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]*)`,`dgv`)},{begin:RegExp(`((@)typedef)\\p{space}+(?=\\{)`,`dgv`),beginCaptures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`}},end:RegExp(`(?=\\p{space}|\\*\\/|[^\\]\\$A-\\[_a-\\{\\}])`,`dgv`),patterns:[{include:`#jsdoctype`},{match:RegExp(`(?:[^\\*\\/\\@\\p{space}]|\\*[^\\/])+`,`dgv`),name:`entity.name.type.instance.jsdoc`}]},{begin:RegExp(`((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\p{space}+(?=\\{)`,`dgv`),beginCaptures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`}},end:RegExp(`(?=\\p{space}|\\*\\/|[^\\]\\$A-\\[_a-\\{\\}])`,`dgv`),patterns:[{include:`#jsdoctype`},{match:RegExp(`([\\$A-Z_a-z][\\]\\$\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]*)`,`dgv`),name:`variable.other.jsdoc`},{captures:{1:{name:`punctuation.definition.optional-value.begin.bracket.square.jsdoc`},2:{name:`keyword.operator.assignment.jsdoc`},3:{name:`source.embedded.js`},4:{name:`punctuation.definition.optional-value.end.bracket.square.jsdoc`},5:{name:`invalid.illegal.syntax.jsdoc`}},match:new $(`(\\[)\\p{space}*[\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:(?:\\[\\])?\\.[\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]+)*(?:\\p{space}*(=)\\p{space}*((?:(?=("(?:\\*(?!/)|\\\\(?!")|[^\\*\\\\])*?"|'(?:\\*(?!/)|\\\\(?!')|[^\\*\\\\])*?'|\\[(?:\\*(?!/)|[^\\*])*?\\]|(?:\\*(?!/)|\\p{space}(?!\\p{space}*\\])|\\[[^\\n]*?(?:\\]|(?=\\*/))|[^\\]\\*\\[\\p{space}])*))\\4)*))?\\p{space}*(?:(\\])((?:[^\\*\\p{space}]|\\*[^\\/\\p{space}])+)?|(?=\\*/))`,`dgv`,{hiddenCaptures:[4]}),name:`variable.other.jsdoc`}]},{begin:RegExp(`((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\p{space}+(?=\\{)`,`dgv`),beginCaptures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`}},end:RegExp(`(?=\\p{space}|\\*\\/|[^\\]\\$A-\\[_a-\\{\\}])`,`dgv`),patterns:[{include:`#jsdoctype`}]},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`entity.name.type.instance.jsdoc`}},match:RegExp(`((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\p{space}+((?:[^\\*\\@\\{\\}\\p{space}]|\\*[^\\/])+)`,`dgv`)},{begin:RegExp(`((@)(?:default(?:value)?|license|version))\\p{space}+((["']))`,`dgv`),beginCaptures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`variable.other.jsdoc`},4:{name:`punctuation.definition.string.begin.jsdoc`}},contentName:`variable.other.jsdoc`,end:RegExp(`(\\3)|(?=(?=\\n?$)|\\*\\/)()()`,`dgv`),endCaptures:{0:{name:`variable.other.jsdoc`},1:{name:`punctuation.definition.string.end.jsdoc`}}},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`},3:{name:`variable.other.jsdoc`}},match:RegExp(`((@)(?:default(?:value)?|license|tutorial|variation|version))\\p{space}+([^\\*\\p{space}]+)`,`dgv`)},{captures:{1:{name:`punctuation.definition.block.tag.jsdoc`}},match:RegExp(`(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b`,`dgv`),name:`storage.type.class.jsdoc`},{include:`#inline-tags`},{captures:{1:{name:`storage.type.class.jsdoc`},2:{name:`punctuation.definition.block.tag.jsdoc`}},match:RegExp(`((@)[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(?=\\p{space}+)`,`dgv`)}]},"enum-declaration":{begin:RegExp(`(?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|(\\(\\p{space}*((\\))|(\\.\\.\\.)|([\\$_\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\,\\:\\=\\?])|(\\)\\p{space}*=>)))))))|(:\\p{space}*(?\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\(\\)\\,\\<\\=\\>])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))`,`dgv`,{lazyCompile:!0})},{captures:{1:{name:`storage.modifier.js`},2:{name:`keyword.operator.rest.js`},3:{name:`variable.parameter.js variable.language.this.js`},4:{name:`variable.parameter.js`},5:{name:`keyword.operator.optional.js`}},match:RegExp(`(?:(?\\?\\}]|\\|\\||&&|!==|(?=\\n?$)|((?>>??|\\|)=`,`dgv`),name:`keyword.operator.assignment.compound.bitwise.js`},{match:RegExp(`<<|>>>?`,`dgv`),name:`keyword.operator.bitwise.shift.js`},{match:RegExp(`[\\!\\=]==?`,`dgv`),name:`keyword.operator.comparison.js`},{match:RegExp(`<=|>=|<>|[\\<\\>]`,`dgv`),name:`keyword.operator.relational.js`},{captures:{1:{name:`keyword.operator.logical.js`},2:{name:`keyword.operator.assignment.compound.js`},3:{name:`keyword.operator.arithmetic.js`}},match:RegExp(`(?<=[\\$_\\p{Alpha}\\p{Nd}])(!)\\p{space}*(?:(\\/=)|(\\/)(?![\\*\\/]))`,`dgv`)},{match:RegExp(`!|&&|\\|\\||\\?\\?`,`dgv`),name:`keyword.operator.logical.js`},{match:RegExp(`[\\&\\^\\|\\~]`,`dgv`),name:`keyword.operator.bitwise.js`},{match:RegExp(`=`,`dgv`),name:`keyword.operator.assignment.js`},{match:RegExp(`--`,`dgv`),name:`keyword.operator.decrement.js`},{match:RegExp(`\\+\\+`,`dgv`),name:`keyword.operator.increment.js`},{match:RegExp(`[\\-\\%\\*\\+\\/]`,`dgv`),name:`keyword.operator.arithmetic.js`},{begin:RegExp(`(?<=[\\]\\$\\)_\\p{Alpha}\\p{Nd}])\\p{space}*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)+(?:(\\/=)|(\\/)(?![\\*\\/])))`,`dgv`),end:RegExp(`(\\/=)|(\\/)(?!\\*([^\\*]|(\\*[^\\/]))*\\*\\/)`,`dgv`),endCaptures:{1:{name:`keyword.operator.assignment.compound.js`},2:{name:`keyword.operator.arithmetic.js`}},patterns:[{include:`#comment`}]},{captures:{1:{name:`keyword.operator.assignment.compound.js`},2:{name:`keyword.operator.arithmetic.js`}},match:RegExp(`(?<=[\\]\\$\\)_\\p{Alpha}\\p{Nd}])\\p{space}*(?:(\\/=)|(\\/)(?![\\*\\/]))`,`dgv`)}]},expressionPunctuations:{patterns:[{include:`#punctuation-comma`},{include:`#punctuation-accessor`}]},expressionWithoutIdentifiers:{patterns:[{include:`#jsx`},{include:`#string`},{include:`#regex`},{include:`#comment`},{include:`#function-expression`},{include:`#class-expression`},{include:`#arrow-function`},{include:`#paren-expression-possibly-arrow`},{include:`#cast`},{include:`#ternary-expression`},{include:`#new-expr`},{include:`#instanceof-expr`},{include:`#object-literal`},{include:`#expression-operators`},{include:`#function-call`},{include:`#literal`},{include:`#support-objects`},{include:`#paren-expression`}]},"field-declaration":{begin:RegExp(`(?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|(\\(\\p{space}*((\\))|(\\.\\.\\.)|([\\$_\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\,\\:\\=\\?])|(\\)\\p{space}*=>)))))))|(:\\p{space}*(?\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\(\\)\\,\\<\\=\\>])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))`,`dgv`,{lazyCompile:!0})},{match:RegExp(`#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*`,`dgv`),name:`meta.definition.property.js variable.object.property.js`},{match:RegExp(`\\?`,`dgv`),name:`keyword.operator.optional.js`},{match:RegExp(`!`,`dgv`),name:`keyword.operator.definiteassignment.js`}]},"for-loop":{begin:RegExp(`(?\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\p{space}*)?\\())`,`dgv`),end:RegExp(`(?<=\\))(?!(((([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(\\p{space}*\\??\\.\\p{space}*(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))*)|(\\??\\.\\p{space}*#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))|(?<=\\)))\\p{space}*(?:(\\?\\.\\p{space}*)|(!))?((<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\p{space}*)?\\())`,`dgv`),patterns:[{begin:RegExp(`(?=(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(\\p{space}*\\??\\.\\p{space}*(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))*)|(\\??\\.\\p{space}*#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))`,`dgv`),end:RegExp(`(?=\\p{space}*(?:(\\?\\.\\p{space}*)|(!))?((<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\p{space}*)?\\())`,`dgv`),name:`meta.function-call.js`,patterns:[{include:`#function-call-target`}]},{include:`#comment`},{include:`#function-call-optionals`},{include:`#type-arguments`},{include:`#paren-expression`}]},{begin:RegExp(`(?=(((([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(\\p{space}*\\??\\.\\p{space}*(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))*)|(\\??\\.\\p{space}*#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))|(?<=\\)))(<\\p{space}*[\\(\\[\\{]\\p{space}*)(?=\\n?$))`,`dgv`),end:RegExp(`(?<=>)(?!(((([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(\\p{space}*\\??\\.\\p{space}*(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))*)|(\\??\\.\\p{space}*#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))|(?<=\\)))(<\\p{space}*[\\(\\[\\{]\\p{space}*)(?=\\n?$))`,`dgv`),patterns:[{begin:RegExp(`(?=(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)(\\p{space}*\\??\\.\\p{space}*(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))*)|(\\??\\.\\p{space}*#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))`,`dgv`),end:RegExp(`(?=(<\\p{space}*[\\(\\[\\{]\\p{space}*)(?=\\n?$))`,`dgv`),name:`meta.function-call.js`,patterns:[{include:`#function-call-target`}]},{include:`#comment`},{include:`#function-call-optionals`},{include:`#type-arguments`}]}]},"function-call-optionals":{patterns:[{match:RegExp(`\\?\\.`,`dgv`),name:`meta.function-call.js punctuation.accessor.optional.js`},{match:RegExp(`!`,`dgv`),name:`meta.function-call.js keyword.operator.definiteassignment.js`}]},"function-call-target":{patterns:[{include:`#support-function-call-identifiers`},{match:RegExp(`(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)`,`dgv`),name:`entity.name.function.js`}]},"function-declaration":{begin:RegExp(`(?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))`,`dgv`)},{captures:{1:{name:`punctuation.accessor.js`},2:{name:`punctuation.accessor.optional.js`},3:{name:`variable.other.constant.property.js`}},match:RegExp(`(?:(\\.)|(\\?\\.(?!\\p{space}*\\p{Nd})))\\p{space}*(#?\\p{Upper}[\\$_\\p{Nd}\\p{Upper}]*)(?![\\$_\\p{Alpha}\\p{Nd}])`,`dgv`)},{captures:{1:{name:`punctuation.accessor.js`},2:{name:`punctuation.accessor.optional.js`},3:{name:`variable.other.property.js`}},match:RegExp(`(?:(\\.)|(\\?\\.(?!\\p{space}*\\p{Nd})))\\p{space}*(#?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)`,`dgv`)},{match:RegExp(`(\\p{Upper}[\\$_\\p{Nd}\\p{Upper}]*)(?![\\$_\\p{Alpha}\\p{Nd}])`,`dgv`),name:`variable.other.constant.js`},{match:RegExp(`[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*`,`dgv`),name:`variable.other.readwrite.js`}]},"if-statement":{patterns:[{begin:RegExp(`(?\\?\\}]|\\|\\||&&|!==|(?=\\n?$)|([\\!\\=]==?)|(([\\&\\^\\|\\~]\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+instanceof(?![\\$_\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|((?))`,`dgv`),end:RegExp(`(\\/>)|(<\\/)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.tag.end.js`},2:{name:`punctuation.definition.tag.begin.js`},3:{name:`entity.name.tag.namespace.js`},4:{name:`punctuation.separator.namespace.js`},5:{name:`entity.name.tag.js`},6:{name:`support.class.component.js`},7:{name:`punctuation.definition.tag.end.js`}},name:`meta.tag.js`,patterns:[{begin:RegExp(`(<)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.js`},2:{name:`entity.name.tag.namespace.js`},3:{name:`punctuation.separator.namespace.js`},4:{name:`entity.name.tag.js`},5:{name:`support.class.component.js`}},end:RegExp(`(?=\\/?>)`,`dgv`),patterns:[{include:`#comment`},{include:`#type-arguments`},{include:`#jsx-tag-attributes`}]},{begin:RegExp(`(>)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.end.js`}},contentName:`meta.jsx.children.js`,end:RegExp(`(?=<\\/)`,`dgv`),patterns:[{include:`#jsx-children`}]}]},"jsx-tag-attribute-assignment":{match:RegExp(`=(?=\\p{space}*(?:["'\\{]|\\/\\*|\\/\\/|\\n))`,`dgv`),name:`keyword.operator.assignment.js`},"jsx-tag-attribute-name":{captures:{1:{name:`entity.other.attribute-name.namespace.js`},2:{name:`punctuation.separator.namespace.js`},3:{name:`entity.other.attribute-name.js`}},match:RegExp(`\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(:))?([\\$_\\p{Alpha}][\\-\\$_\\p{Alpha}\\p{Nd}]*)(?=[\\=\\p{space}]|\\/?>|\\/\\*|\\/\\/)`,`dgv`)},"jsx-tag-attributes":{begin:RegExp(`\\p{space}+`,`dgv`),end:RegExp(`(?=\\/?>)`,`dgv`),name:`meta.tag.attributes.js`,patterns:[{include:`#comment`},{include:`#jsx-tag-attribute-name`},{include:`#jsx-tag-attribute-assignment`},{include:`#jsx-string-double-quoted`},{include:`#jsx-string-single-quoted`},{include:`#jsx-evaluated-code`},{include:`#jsx-tag-attributes-illegal`}]},"jsx-tag-attributes-illegal":{match:RegExp(`\\P{space}+`,`dgv`),name:`invalid.illegal.attribute.js`},"jsx-tag-in-expression":{begin:RegExp(`(?\\?\\[\\{]|&&|\\|\\||\\?|\\*\\/|^await|[^\\$\\._\\p{Alpha}\\p{Nd}]await|^return|[^\\$\\._\\p{Alpha}\\p{Nd}]return|^default|[^\\$\\._\\p{Alpha}\\p{Nd}]default|^yield|[^\\$\\._\\p{Alpha}\\p{Nd}]yield|^)\\p{space}*(?!<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*((\\p{space}+extends\\p{space}+[^\\=\\>])|,))(?=(<)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?))`,`dgv`),end:RegExp(`(?!(<)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?))`,`dgv`),patterns:[{include:`#jsx-tag`}]},"jsx-tag-without-attributes":{begin:RegExp(`(<)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.js`},2:{name:`entity.name.tag.namespace.js`},3:{name:`punctuation.separator.namespace.js`},4:{name:`entity.name.tag.js`},5:{name:`support.class.component.js`},6:{name:`punctuation.definition.tag.end.js`}},contentName:`meta.jsx.children.js`,end:RegExp(`(<\\/)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.tag.begin.js`},2:{name:`entity.name.tag.namespace.js`},3:{name:`punctuation.separator.namespace.js`},4:{name:`entity.name.tag.js`},5:{name:`support.class.component.js`},6:{name:`punctuation.definition.tag.end.js`}},name:`meta.tag.without-attributes.js`,patterns:[{include:`#jsx-children`}]},"jsx-tag-without-attributes-in-expression":{begin:RegExp(`(?\\?\\[\\{]|&&|\\|\\||\\?|\\*\\/|^await|[^\\$\\._\\p{Alpha}\\p{Nd}]await|^return|[^\\$\\._\\p{Alpha}\\p{Nd}]return|^default|[^\\$\\._\\p{Alpha}\\p{Nd}]default|^yield|[^\\$\\._\\p{Alpha}\\p{Nd}]yield|^)\\p{space}*(?=(<)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?))`,`dgv`),end:RegExp(`(?!(<)\\p{space}*(?:([\\$_\\p{Alpha}][\\-\\$\\._\\p{Alpha}\\p{Nd}]*)(?))`,`dgv`),patterns:[{include:`#jsx-tag-without-attributes`}]},label:{patterns:[{begin:RegExp(`([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(:)(?=\\p{space}*\\{)`,`dgv`),beginCaptures:{1:{name:`entity.name.label.js`},2:{name:`punctuation.separator.label.js`}},end:RegExp(`(?<=\\})`,`dgv`),patterns:[{include:`#decl-block`}]},{captures:{1:{name:`entity.name.label.js`},2:{name:`punctuation.separator.label.js`}},match:RegExp(`([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(:)`,`dgv`)}]},literal:{patterns:[{include:`#numeric-literal`},{include:`#boolean-literal`},{include:`#null-literal`},{include:`#undefined-literal`},{include:`#numericConstant-literal`},{include:`#array-literal`},{include:`#this-literal`},{include:`#super-literal`}]},"method-declaration":{patterns:[{begin:RegExp(`(?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*))?\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.js`},2:{name:`storage.modifier.js`},3:{name:`storage.modifier.js`},4:{name:`storage.modifier.async.js`},5:{name:`keyword.operator.new.js`},6:{name:`keyword.generator.asterisk.js`}},end:RegExp(`(?=[\\,\\;\\}]|(?=\\n?$))|(?<=\\})`,`dgv`),name:`meta.method.declaration.js`,patterns:[{include:`#method-declaration-name`},{include:`#function-body`}]},{begin:RegExp(`(?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*))?\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.js`},2:{name:`storage.modifier.js`},3:{name:`storage.modifier.js`},4:{name:`storage.modifier.async.js`},5:{name:`storage.type.property.js`},6:{name:`keyword.generator.asterisk.js`}},end:RegExp(`(?=[\\,\\;\\}]|(?=\\n?$))|(?<=\\})`,`dgv`),name:`meta.method.declaration.js`,patterns:[{include:`#method-declaration-name`},{include:`#function-body`}]}]},"method-declaration-name":{begin:RegExp(`(?=(\\b((?\\?\\}]|\\|\\||&&|!==|(?=\\n?$)|((?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*))?\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`},2:{name:`storage.type.property.js`},3:{name:`keyword.generator.asterisk.js`}},end:RegExp(`(?=[\\,\\;\\}])|(?<=\\})`,`dgv`),name:`meta.method.declaration.js`,patterns:[{include:`#method-declaration-name`},{include:`#function-body`},{begin:RegExp(`(?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*))?\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`},2:{name:`storage.type.property.js`},3:{name:`keyword.generator.asterisk.js`}},end:RegExp(`(?=[\\(\\<])`,`dgv`),patterns:[{include:`#method-declaration-name`}]}]},"object-member":{patterns:[{include:`#comment`},{include:`#object-literal-method-declaration`},{begin:RegExp(`(?=\\[)`,`dgv`),end:RegExp(`(?=:)|((?<=\\])(?=\\p{space}*[\\(\\<]))`,`dgv`),name:`meta.object.member.js meta.object-literal.key.js`,patterns:[{include:`#comment`},{include:`#array-literal`}]},{begin:RegExp(`(?=["'\\\`])`,`dgv`),end:RegExp(`(?=:)|((?<=["'\\\`])(?=((\\p{space}*[\\(\\,\\<\\}])|(\\p{space}+(as|satisifies)\\p{space}+))))`,`dgv`),name:`meta.object.member.js meta.object-literal.key.js`,patterns:[{include:`#comment`},{include:`#string`}]},{begin:RegExp(`(?=\\b((?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))`,`dgv`),name:`meta.object.member.js`},{captures:{0:{name:`meta.object-literal.key.js`}},match:RegExp(`[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*:)`,`dgv`),name:`meta.object.member.js`},{begin:RegExp(`\\.\\.\\.`,`dgv`),beginCaptures:{0:{name:`keyword.operator.spread.js`}},end:RegExp(`(?=[\\,\\}])`,`dgv`),name:`meta.object.member.js`,patterns:[{include:`#expression`}]},{captures:{1:{name:`variable.other.readwrite.js`}},match:RegExp(`([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?=[\\,\\}]|(?=\\n?$)|\\/\\/|\\/\\*)`,`dgv`),name:`meta.object.member.js`},{captures:{1:{name:`keyword.control.as.js`},2:{name:`storage.modifier.js`}},match:RegExp(`(?\\?\\}]|\\|\\||&&|!==|(?=\\n?$)|^|((?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`}},end:RegExp(`(?<=\\))`,`dgv`),patterns:[{include:`#type-parameters`},{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`meta.brace.round.js`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`meta.brace.round.js`}},patterns:[{include:`#expression-inside-possibly-arrow-parens`}]}]},{begin:RegExp(`(?<=:)\\p{space}*(async)?\\p{space}*(\\()(?=\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`},2:{name:`meta.brace.round.js`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`meta.brace.round.js`}},patterns:[{include:`#expression-inside-possibly-arrow-parens`}]},{begin:RegExp(`(?<=:)\\p{space}*(async)?\\p{space}*(?=<\\p{space}*(?=\\n?$))`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`}},end:RegExp(`(?<=>)`,`dgv`),patterns:[{include:`#type-parameters`}]},{begin:RegExp(`(?<=>)\\p{space}*(\\()(?=\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))`,`dgv`),beginCaptures:{1:{name:`meta.brace.round.js`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`meta.brace.round.js`}},patterns:[{include:`#expression-inside-possibly-arrow-parens`}]},{include:`#possibly-arrow-return-type`},{include:`#expression`}]},{include:`#punctuation-comma`},{include:`#decl-block`}]},"parameter-array-binding-pattern":{begin:RegExp(`(?:(\\.\\.\\.)\\p{space}*)?(\\[)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.rest.js`},2:{name:`punctuation.definition.binding-pattern.array.js`}},end:RegExp(`\\]`,`dgv`),endCaptures:{0:{name:`punctuation.definition.binding-pattern.array.js`}},patterns:[{include:`#parameter-binding-element`},{include:`#punctuation-comma`}]},"parameter-binding-element":{patterns:[{include:`#comment`},{include:`#string`},{include:`#numeric-literal`},{include:`#regex`},{include:`#parameter-object-binding-pattern`},{include:`#parameter-array-binding-pattern`},{include:`#destructuring-parameter-rest`},{include:`#variable-initializer`}]},"parameter-name":{patterns:[{captures:{1:{name:`storage.modifier.js`}},match:RegExp(`(?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|(\\(\\p{space}*((\\))|(\\.\\.\\.)|([\\$_\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\,\\:\\=\\?])|(\\)\\p{space}*=>)))))))|(:\\p{space}*(?\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\(\\)\\,\\<\\=\\>])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))`,`dgv`,{lazyCompile:!0})},{captures:{1:{name:`storage.modifier.js`},2:{name:`keyword.operator.rest.js`},3:{name:`variable.parameter.js variable.language.this.js`},4:{name:`variable.parameter.js`},5:{name:`keyword.operator.optional.js`}},match:RegExp(`(?:(?])`,`dgv`),name:`meta.type.annotation.js`,patterns:[{include:`#type`}]}]},"paren-expression":{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`meta.brace.round.js`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`meta.brace.round.js`}},patterns:[{include:`#expression`}]},"paren-expression-possibly-arrow":{patterns:[{begin:RegExp(`(?<=[\\(\\,\\=])\\p{space}*(async)?(?=\\p{space}*((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*))?\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`}},end:RegExp(`(?<=\\))`,`dgv`),patterns:[{include:`#paren-expression-possibly-arrow-with-typeparameters`}]},{begin:RegExp(`(?<=[\\(\\,\\=]|=>|^return|[^\\$\\._\\p{Alpha}\\p{Nd}]return)\\p{space}*(async)?(?=\\p{space}*((((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*))?\\()|(<)|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)))\\p{space}*(?=\\n?$))`,`dgv`),beginCaptures:{1:{name:`storage.modifier.async.js`}},end:RegExp(`(?<=\\))`,`dgv`),patterns:[{include:`#paren-expression-possibly-arrow-with-typeparameters`}]},{include:`#possibly-arrow-return-type`}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:`#type-parameters`},{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`meta.brace.round.js`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`meta.brace.round.js`}},patterns:[{include:`#expression-inside-possibly-arrow-parens`}]}]},"possibly-arrow-return-type":{begin:RegExp(`(?<=\\)|^)\\p{space}*(:)(?=\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*=>)`,`dgv`),beginCaptures:{1:{name:`meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js`}},contentName:`meta.arrow.js meta.return.type.arrow.js`,end:RegExp(`(?==>|\\{|^(\\p{space}*(export|function|class|interface|let|var|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\p{space}+))`,`dgv`),patterns:[{include:`#arrow-return-type-body`}]},"property-accessor":{match:RegExp(`(?|&&|\\|\\||\\*\\/)\\p{space}*(\\/)(?![\\*\\/])(?=(?:[^\\(\\)\\/\\[\\\\]|\\\\[^\\n]|\\[([^\\]\\\\]|\\\\[^\\n])+\\]|\\(([^\\)\\\\]|\\\\[^\\n])+\\))+\\/([dgimsuvy]+|(?![\\*\\/])|(?=\\/\\*))(?!\\p{space}*[\\$0-9A-Z_a-z]))`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.string.begin.js`}},end:RegExp(`(\\/)([dgimsuvy]*)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.string.end.js`},2:{name:`keyword.other.js`}},name:`string.regexp.js`,patterns:[{include:`#regexp`}]},{begin:RegExp(`((?)`,`dgv`)},{match:RegExp(`[\\*\\+\\?]|\\{(\\p{Nd}+,\\p{Nd}+|\\p{Nd}+,|,\\p{Nd}+|\\p{Nd}+)\\}\\??`,`dgv`),name:`keyword.operator.quantifier.regexp`},{match:RegExp(`\\|`,`dgv`),name:`keyword.operator.or.regexp`},{begin:RegExp(`(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?)?`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.group.regexp`},1:{name:`punctuation.definition.group.no-capture.regexp`},2:{name:`variable.other.regexp`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.group.regexp`}},name:`meta.group.regexp`,patterns:[{include:`#regexp`}]},{begin:RegExp(`(\\[)(\\^)?`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.character-class.regexp`},2:{name:`keyword.operator.negation.regexp`}},end:RegExp(`(\\])`,`dgv`),endCaptures:{1:{name:`punctuation.definition.character-class.regexp`}},name:`constant.other.character-class.set.regexp`,patterns:[{captures:{1:{name:`constant.character.numeric.regexp`},2:{name:`constant.character.control.regexp`},3:{name:`constant.character.escape.backslash.regexp`},4:{name:`constant.character.numeric.regexp`},5:{name:`constant.character.control.regexp`},6:{name:`constant.character.escape.backslash.regexp`}},match:RegExp(`(?:[^\\n]|(\\\\(?:[0-7]{3}|x\\p{AHex}{2}|u\\p{AHex}{4}))|(\\\\c[A-Z])|(\\\\[^\\n]))-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x\\p{AHex}{2}|u\\p{AHex}{4}))|(\\\\c[A-Z])|(\\\\[^\\n]))`,`dgv`),name:`constant.other.character-class.range.regexp`},{include:`#regex-character-class`}]},{include:`#regex-character-class`}]},"return-type":{patterns:[{begin:RegExp(`(?<=\\))\\p{space}*(:)(?=\\p{space}*\\P{space})`,`dgv`),beginCaptures:{1:{name:`keyword.operator.type.annotation.js`}},end:RegExp(`(?]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$))`,`dgv`)},{captures:{1:{name:`support.type.object.module.js`},2:{name:`support.type.object.module.js`},3:{name:`punctuation.accessor.js`},4:{name:`punctuation.accessor.optional.js`},5:{name:`support.type.object.module.js`}},match:RegExp(`(?\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\p{space}*)?`)",`dgv`),end:RegExp("(?=`)",`dgv`),patterns:[{begin:RegExp(`(?=(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*\\??\\.\\p{space}*)*|(\\??\\.\\p{space}*)?)([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*))`,`dgv`),end:RegExp("(?=(<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\p{space}*)?`)",`dgv`),patterns:[{include:`#support-function-call-identifiers`},{match:RegExp(`([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)`,`dgv`),name:`entity.name.function.tagged-template.js`}]},{include:`#type-arguments`}]},{begin:RegExp("([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)?\\p{space}*(?=(<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>|<\\p{space}*(((keyof|infer|typeof|readonly)\\p{space}+)|(([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\\\\\`]|\\\\[^\\n])*`))(?=\\p{space}*([\\,\\.\\<\\>\\[]|=>|&(?!&)|\\|(?!\\|)))))([^\\(\\<\\>]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)>)*(?))*(?)*(?\\p{space}*)`)",`dgv`),beginCaptures:{1:{name:`entity.name.function.tagged-template.js`}},end:RegExp("(?=`)",`dgv`),patterns:[{include:`#type-arguments`}]}]},"template-substitution-element":{begin:RegExp(`\\$\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.template-expression.begin.js`}},contentName:`meta.embedded.line.js`,end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.template-expression.end.js`}},name:`meta.template.expression.js`,patterns:[{include:`#expression`}]},"template-type":{patterns:[{include:`#template-call`},{begin:RegExp("([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)?(`)",`dgv`),beginCaptures:{1:{name:`entity.name.function.tagged-template.js`},2:{name:`string.template.js punctuation.definition.string.template.begin.js`}},contentName:`string.template.js`,end:RegExp("`",`dgv`),endCaptures:{0:{name:`string.template.js punctuation.definition.string.template.end.js`}},patterns:[{include:`#template-type-substitution-element`},{include:`#string-character-escape`}]}]},"template-type-substitution-element":{begin:RegExp(`\\$\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.template-expression.begin.js`}},contentName:`meta.embedded.line.js`,end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.template-expression.end.js`}},name:`meta.template.expression.js`,patterns:[{include:`#type`}]},"ternary-expression":{begin:RegExp(`(?!\\?\\.\\p{space}*\\P{Nd})(\\?)(?!\\?)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.ternary.js`}},end:RegExp(`\\p{space}*(:)`,`dgv`),endCaptures:{1:{name:`keyword.operator.ternary.js`}},patterns:[{include:`#expression`}]},"this-literal":{match:RegExp(`(?])|((?<=[\\]\\$\\)\\>_\\}\\p{Alpha}])\\p{space}*(?=\\{)))`,`dgv`),name:`meta.type.annotation.js`,patterns:[{include:`#type`}]},{begin:RegExp(`(:)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.type.annotation.js`}},end:RegExp(`(?])|(?=^\\p{space}*(?=\\n?$))|((?<=[\\]\\$\\)\\>_\\}\\p{Alpha}])\\p{space}*(?=\\{)))`,`dgv`),name:`meta.type.annotation.js`,patterns:[{include:`#type`}]}]},"type-arguments":{begin:RegExp(`<`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.typeparameters.begin.js`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.typeparameters.end.js`}},name:`meta.type.parameters.js`,patterns:[{include:`#type-arguments-body`}]},"type-arguments-body":{patterns:[{captures:{0:{name:`keyword.operator.type.js`}},match:RegExp(`(?)`,`dgv`),patterns:[{include:`#comment`},{include:`#type-parameters`}]},{begin:RegExp(`(?))))))`,`dgv`),end:RegExp(`(?<=\\))`,`dgv`),name:`meta.type.function.js`,patterns:[{include:`#function-parameters`}]}]},"type-function-return-type":{patterns:[{begin:RegExp(`(=>)(?=\\p{space}*\\P{space})`,`dgv`),beginCaptures:{1:{name:`storage.type.function.arrow.js`}},end:RegExp(`(?)(?\\?\\{\\}]|\\/\\/|(?=\\n?$))`,`dgv`),name:`meta.type.function.return.js`,patterns:[{include:`#type-function-return-type-core`}]},{begin:RegExp(`=>`,`dgv`),beginCaptures:{0:{name:`storage.type.function.arrow.js`}},end:RegExp(`(?)(?\\?\\{\\}]|\\/\\/|^\\p{space}*(?=\\n?$))|((?<=\\P{space})(?=\\p{space}*(?=\\n?$))))`,`dgv`),name:`meta.type.function.return.js`,patterns:[{include:`#type-function-return-type-core`}]}]},"type-function-return-type-core":{patterns:[{include:`#comment`},{begin:RegExp(`(?<==>)(?=\\p{space}*\\{)`,`dgv`),end:RegExp(`(?<=\\})`,`dgv`),patterns:[{include:`#type-object`}]},{include:`#type-predicate-operator`},{include:`#type`}]},"type-infer":{patterns:[{captures:{1:{name:`keyword.operator.expression.infer.js`},2:{name:`entity.name.type.js`},3:{name:`keyword.operator.expression.extends.js`}},match:RegExp(`(?)`,`dgv`),endCaptures:{1:{name:`meta.type.parameters.js punctuation.definition.typeparameters.end.js`}},patterns:[{include:`#type-arguments-body`}]},{begin:RegExp(`([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(<)`,`dgv`),beginCaptures:{1:{name:`entity.name.type.js`},2:{name:`meta.type.parameters.js punctuation.definition.typeparameters.begin.js`}},contentName:`meta.type.parameters.js`,end:RegExp(`(>)`,`dgv`),endCaptures:{1:{name:`meta.type.parameters.js punctuation.definition.typeparameters.end.js`}},patterns:[{include:`#type-arguments-body`}]},{captures:{1:{name:`entity.name.type.module.js`},2:{name:`punctuation.accessor.js`},3:{name:`punctuation.accessor.optional.js`}},match:RegExp(`([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?:(\\.)|(\\?\\.(?!\\p{space}*\\p{Nd})))`,`dgv`)},{match:RegExp(`[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*`,`dgv`),name:`entity.name.type.js`}]},"type-object":{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.block.js`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.block.js`}},name:`meta.object.type.js`,patterns:[{include:`#comment`},{include:`#method-declaration`},{include:`#indexer-declaration`},{include:`#indexer-mapped-type-declaration`},{include:`#field-declaration`},{include:`#type-annotation`},{begin:RegExp(`\\.\\.\\.`,`dgv`),beginCaptures:{0:{name:`keyword.operator.spread.js`}},end:RegExp(`(?=[\\,\\;\\}]|(?=\\n?$))|(?<=\\})`,`dgv`),patterns:[{include:`#type`}]},{include:`#punctuation-comma`},{include:`#punctuation-semicolon`},{include:`#type`}]},"type-operators":{patterns:[{include:`#typeof-operator`},{include:`#type-infer`},{begin:RegExp(`([\\&\\|])(?=\\p{space}*\\{)`,`dgv`),beginCaptures:{0:{name:`keyword.operator.type.js`}},end:RegExp(`(?<=\\})`,`dgv`),patterns:[{include:`#type-object`}]},{begin:RegExp(`[\\&\\|]`,`dgv`),beginCaptures:{0:{name:`keyword.operator.type.js`}},end:RegExp(`(?=\\P{space})`,`dgv`)},{match:RegExp(`(?)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.typeparameters.end.js`}},name:`meta.type.parameters.js`,patterns:[{include:`#comment`},{match:RegExp(`(?)`,`dgv`),name:`keyword.operator.assignment.js`}]},"type-paren-or-function-parameters":{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`meta.brace.round.js`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`meta.brace.round.js`}},name:`meta.type.paren.cover.js`,patterns:[{captures:{1:{name:`storage.modifier.js`},2:{name:`keyword.operator.rest.js`},3:{name:`entity.name.function.js variable.language.this.js`},4:{name:`entity.name.function.js`},5:{name:`keyword.operator.optional.js`}},match:RegExp(`(?:(?)))))))|(:\\p{space}*(?\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))))`,`dgv`)},{captures:{1:{name:`storage.modifier.js`},2:{name:`keyword.operator.rest.js`},3:{name:`variable.parameter.js variable.language.this.js`},4:{name:`variable.parameter.js`},5:{name:`keyword.operator.optional.js`}},match:RegExp(`(?:(?\\?\\{\\|\\}]|(extends\\p{space}+)|(?=\\n?$)|;|^\\p{space}*(?=\\n?$)|^\\p{space}*(?:abstract|async|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[\\$_\\p{Alpha}])\\b|var|while)\\b)`,`dgv`),patterns:[{include:`#type-arguments`},{include:`#expression`}]},"undefined-literal":{match:RegExp(`(?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|(\\(\\p{space}*((\\))|(\\.\\.\\.)|([\\$_\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\,\\:\\=\\?])|(\\)\\p{space}*=>)))))))|(:\\p{space}*(?\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\(\\)\\,\\<\\=\\>])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))`,`dgv`,{lazyCompile:!0}),beginCaptures:{1:{name:`meta.definition.variable.js variable.other.constant.js entity.name.function.js`}},end:RegExp(`(?=(?=\\n?$)|^|[\\,\\;\\=\\}]|((?)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|(\\(\\p{space}*((\\))|(\\.\\.\\.)|([\\$_\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\,\\:\\=\\?])|(\\)\\p{space}*=>)))))))|(:\\p{space}*(?\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\(\\)\\,\\<\\=\\>])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\*\\<])|(function\\p{space}+)|([\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*)(?=\\n?$)|(\\(\\p{space}*((([\\[\\{]\\p{space}*)?)(?=\\n?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?)(?=\\n?$)|((\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*((\\)\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|(<\\p{space}*[\\$_\\p{Alpha}][\\$_\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[\\$_\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\]))([^\\<\\=\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\$_\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\]\\[]|(\\[([^\\]\\[]|\\[[^\\]\\[]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[\\$_\\p{Alpha}]))([^"'\\(\\)\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|("([^"\\\\]|\\\\[^\\n])*")|(\`([^\\\\\\\`]|\\\\[^\\n])*\`))*)?\\)(\\p{space}*:\\p{space}*([^\\(\\)\\<\\>\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))`,`dgv`,{lazyCompile:!0}),beginCaptures:{1:{name:`meta.definition.variable.js entity.name.function.js`},2:{name:`keyword.operator.definiteassignment.js`}},end:RegExp(`(?=(?=\\n?$)|^|[\\,\\;\\=\\}]|((?\\p{space}*(?=\\n?$))`,`dgv`),beginCaptures:{1:{name:`keyword.operator.assignment.js`}},end:RegExp(`(?=(?=\\n?$)|^|[\\]\\)\\,\\;\\}]|((?{qA(),ij=Object.freeze({displayName:`CSS`,name:`css`,patterns:[{include:`#comment-block`},{include:`#escapes`},{include:`#combinators`},{include:`#selector`},{include:`#at-rules`},{include:`#rule-list`}],repository:{"at-rules":{patterns:[{begin:RegExp(`^\\uFEFF?(?=\\p{space}*@charset\\b)`,`dgiv`),end:RegExp(`;|(?=(?=\\n?$))`,`dgv`),endCaptures:{0:{name:`punctuation.terminator.rule.css`}},name:`meta.at-rule.charset.css`,patterns:[{captures:{1:{name:`invalid.illegal.not-lowercase.charset.css`},2:{name:`invalid.illegal.leading-whitespace.charset.css`},3:{name:`invalid.illegal.no-whitespace.charset.css`},4:{name:`invalid.illegal.whitespace.charset.css`},5:{name:`invalid.illegal.not-double-quoted.charset.css`},6:{name:`invalid.illegal.unclosed-string.charset.css`},7:{name:`invalid.illegal.unexpected-characters.charset.css`}},match:new $(`^((?!@charset)@[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)|^(\\p{space}+)|(@charset\\P{space}[^\\;]*)|(?<=@charset)( {2,}|\\t+)|(?<=@charset )([^"\\;]+)|("[^"]+)(?=\\n?$)|(?<=")([^\\;]+)`,`dgv`,{strategy:`clip_search`})},{captures:{1:{name:`keyword.control.at-rule.charset.css`},2:{name:`punctuation.definition.keyword.css`}},match:RegExp(`((@)charset)(?=\\p{space})`,`dgv`)},{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.css`}},end:RegExp(`"|(?=\\n?$)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.css`}},name:`string.quoted.double.css`,patterns:[{begin:new $(`(?:^|^)(?=[^"]+(?=\\n?$))`,`dgv`,{strategy:`clip_search`}),end:RegExp(`(?=\\n?$)`,`dgv`),name:`invalid.illegal.unclosed.string.css`}]}]},{begin:RegExp(`((@)import)(?:\\p{space}+|(?=\\n?$)|(?=["']|\\/\\*))`,`dgiv`),beginCaptures:{1:{name:`keyword.control.at-rule.import.css`},2:{name:`punctuation.definition.keyword.css`}},end:RegExp(`;`,`dgv`),endCaptures:{0:{name:`punctuation.terminator.rule.css`}},name:`meta.at-rule.import.css`,patterns:[{begin:RegExp(`\\p{space}*(?=\\/\\*)`,`dgvy`),end:RegExp(`(?<=\\*\\/)\\p{space}*`,`dgv`),patterns:[{include:`#comment-block`}]},{include:`#string`},{include:`#url`},{include:`#media-query-list`}]},{begin:RegExp(`((@)font-face)(?=\\p{space}*|\\{|\\/\\*|(?=\\n?$))`,`dgiv`),beginCaptures:{1:{name:`keyword.control.at-rule.font-face.css`},2:{name:`punctuation.definition.keyword.css`}},end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),name:`meta.at-rule.font-face.css`,patterns:[{include:`#comment-block`},{include:`#escapes`},{include:`#rule-list`}]},{begin:RegExp(`(@)page(?=[\\:\\{\\p{space}]|\\/\\*|(?=\\n?$))`,`dgiv`),captures:{0:{name:`keyword.control.at-rule.page.css`},1:{name:`punctuation.definition.keyword.css`}},end:RegExp(`(?=\\p{space}*((?=\\n?$)|[\\:\\;\\{]))`,`dgv`),name:`meta.at-rule.page.css`,patterns:[{include:`#rule-list`}]},{begin:RegExp(`(?=@media([\\(\\p{space}]|\\/\\*|(?=\\n?$)))`,`dgiv`),end:new $(`(?<=\\})(?!^)`,`dgv`,{strategy:`clip_search`}),patterns:[{begin:RegExp(`(@)media`,`dgivy`),beginCaptures:{0:{name:`keyword.control.at-rule.media.css`},1:{name:`punctuation.definition.keyword.css`}},end:RegExp(`(?=\\p{space}*[\\;\\{])`,`dgv`),name:`meta.at-rule.media.header.css`,patterns:[{include:`#media-query-list`}]},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.media.begin.bracket.curly.css`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.section.media.end.bracket.curly.css`}},name:`meta.at-rule.media.body.css`,patterns:[{include:`$self`}]}]},{begin:RegExp(`(?=@counter-style(["'\\;\\{\\p{space}]|\\/\\*|(?=\\n?$)))`,`dgiv`),end:new $(`(?<=\\})(?!^)`,`dgv`,{strategy:`clip_search`}),patterns:[{begin:RegExp(`(@)counter-style`,`dgivy`),beginCaptures:{0:{name:`keyword.control.at-rule.counter-style.css`},1:{name:`punctuation.definition.keyword.css`}},end:RegExp(`(?=\\p{space}*\\{)`,`dgv`),name:`meta.at-rule.counter-style.header.css`,patterns:[{include:`#comment-block`},{include:`#escapes`},{captures:{0:{patterns:[{include:`#escapes`}]}},match:RegExp(`[\\-A-Z_a-z[^\\x00-\\x7F]](?:[\\-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n]))*`,`dgv`),name:`variable.parameter.style-name.css`}]},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.property-list.begin.bracket.curly.css`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.section.property-list.end.bracket.curly.css`}},name:`meta.at-rule.counter-style.body.css`,patterns:[{include:`#comment-block`},{include:`#escapes`},{include:`#rule-list-innards`}]}]},{begin:RegExp(`(?=@document(["'\\;\\{\\p{space}]|\\/\\*|(?=\\n?$)))`,`dgiv`),end:new $(`(?<=\\})(?!^)`,`dgv`,{strategy:`clip_search`}),patterns:[{begin:RegExp(`(@)document`,`dgivy`),beginCaptures:{0:{name:`keyword.control.at-rule.document.css`},1:{name:`punctuation.definition.keyword.css`}},end:RegExp(`(?=\\p{space}*[\\;\\{])`,`dgv`),name:`meta.at-rule.document.header.css`,patterns:[{begin:RegExp(`(?>>`,`dgv`),name:`invalid.deprecated.combinator.css`},{match:RegExp(`>>|[\\+\\>\\~]`,`dgv`),name:`keyword.operator.combinator.css`}]},commas:{match:RegExp(`,`,`dgv`),name:`punctuation.separator.list.comma.css`},"comment-block":{begin:RegExp(`\\/\\*`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.begin.css`}},end:RegExp(`\\*\\/`,`dgv`),endCaptures:{0:{name:`punctuation.definition.comment.end.css`}},name:`comment.block.css`},escapes:{patterns:[{match:RegExp(`\\\\\\p{AHex}{1,6}`,`dgv`),name:`constant.character.escape.codepoint.css`},{begin:RegExp(`\\\\(?=\\n?$)\\p{space}*`,`dgv`),end:new $(`^(?]|\\/\\*)`,`dgiv`)},"media-query":{begin:RegExp(`(?:)`,`dgv`),end:RegExp(`(?=\\p{space}*[\\;\\{])`,`dgv`),patterns:[{include:`#comment-block`},{include:`#escapes`},{include:`#media-types`},{match:RegExp(`(?<=\\p{space}|^|,|\\*\\/)(only|not)(?=[\\{\\p{space}]|\\/\\*|(?=\\n?$))`,`dgiv`),name:`keyword.operator.logical.$1.media.css`},{match:RegExp(`(?<=\\p{space}|^|\\*\\/|\\))and(?=\\p{space}|\\/\\*|(?=\\n?$))`,`dgiv`),name:`keyword.operator.logical.and.media.css`},{match:RegExp(`,(?:(?:\\p{space}*,)+|(?=\\p{space}*[\\)\\;\\{]))`,`dgv`),name:`invalid.illegal.comma.css`},{include:`#commas`},{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.parameters.begin.bracket.round.css`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.css`}},patterns:[{include:`#media-features`},{include:`#media-feature-keywords`},{match:RegExp(`:`,`dgv`),name:`punctuation.separator.key-value.css`},{match:RegExp(`>=|<=|[\\<\\=\\>]`,`dgv`),name:`keyword.operator.comparison.css`},{captures:{1:{name:`constant.numeric.css`},2:{name:`keyword.operator.arithmetic.css`},3:{name:`constant.numeric.css`}},match:RegExp(`(\\p{Nd}+)\\p{space}*(\\/)\\p{space}*(\\p{Nd}+)`,`dgv`),name:`meta.ratio.css`},{include:`#numeric-values`},{include:`#comment-block`}]}]},"media-query-list":{begin:RegExp(`(?=\\p{space}*[^\\;\\{])`,`dgv`),end:RegExp(`(?=\\p{space}*[\\;\\{])`,`dgv`),patterns:[{include:`#media-query`}]},"media-types":{captures:{1:{name:`support.constant.media.css`},2:{name:`invalid.deprecated.constant.media.css`}},match:RegExp(`(?<=^|[\\,\\p{space}]|\\*\\/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=(?=\\n?$)|[\\,\\;\\{\\p{space}]|\\/\\*)`,`dgiv`)},"numeric-values":{patterns:[{captures:{1:{name:`punctuation.definition.constant.css`}},match:RegExp(`(#)(?:\\p{AHex}{3,4}|\\p{AHex}{6}|\\p{AHex}{8})\\b`,`dgv`),name:`constant.other.color.rgb-value.hex.css`},{captures:{1:{name:`keyword.other.unit.percentage.css`},2:{name:"keyword.other.unit.${2:/downcase}.css"}},match:RegExp(`(?\\[\\{\\|\\~\\p{space}]|\\/\\*)|(?:[\\-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n]))*(?:[\\]\\!"\\%-\\(\\*\\;\\<\\?\\@\\^\\`\\|\\}]|\\/(?!\\*))+)(?:[\\-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n]))*)',`dgv`),name:`invalid.illegal.bad-identifier.css`},{captures:{1:{name:`punctuation.definition.entity.css`},2:{patterns:[{include:`#escapes`}]}},match:RegExp(`(\\.)((?:[\\-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n]))+)(?=(?=\\n?$)|[\\#\\)\\+\\,\\.\\:\\>\\[\\{\\|\\~\\p{space}]|\\/\\*)`,`dgv`),name:`entity.other.attribute-name.class.css`},{captures:{1:{name:`punctuation.definition.entity.css`},2:{patterns:[{include:`#escapes`}]}},match:RegExp(`(#)(-?(?![0-9])(?:[\\-0-9A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n]))+)(?=(?=\\n?$)|[\\#\\)\\+\\,\\.\\:\\>\\[\\{\\|\\~\\p{space}]|\\/\\*)`,`dgv`),name:`entity.other.attribute-name.id.css`},{begin:RegExp(`\\[`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.entity.begin.bracket.square.css`}},end:RegExp(`\\]`,`dgv`),endCaptures:{0:{name:`punctuation.definition.entity.end.bracket.square.css`}},name:`meta.attribute-selector.css`,patterns:[{include:`#comment-block`},{include:`#string`},{captures:{1:{name:`storage.modifier.ignore-case.css`}},match:RegExp(`(?<=["'\\p{space}]|^|\\*\\/)\\p{space}*([Ii])\\p{space}*(?=[\\]\\p{space}]|\\/\\*|(?=\\n?$))`,`dgv`)},{captures:{1:{name:`string.unquoted.attribute-value.css`,patterns:[{include:`#escapes`}]}},match:RegExp(`(?<==)\\p{space}*((?!\\/\\*)(?:[^\\]"'\\\\\\p{space}]|\\\\[^\\n])+)`,`dgv`)},{include:`#escapes`},{match:RegExp(`[\\$\\*\\^\\|\\~]?=`,`dgv`),name:`keyword.operator.pattern.css`},{match:RegExp(`\\|`,`dgv`),name:`punctuation.separator.css`},{captures:{1:{name:`entity.other.namespace-prefix.css`,patterns:[{include:`#escapes`}]}},match:RegExp(`(-?(?!\\p{Nd})(?:[\\-\\p{L}\\p{M}\\p{N}\\p{Pc}[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n]))+|\\*)(?=\\|(?![\\=\\p{space}]|(?=\\n?$)|\\])(?:-?(?!\\p{Nd})|[\\-\\\\\\p{L}\\p{M}\\p{N}\\p{Pc}[^\\x00-\\x7F]]))`,`dgv`)},{captures:{1:{name:`entity.other.attribute-name.css`,patterns:[{include:`#escapes`}]}},match:new $(`(-?(?!\\p{Nd})(?:(?=([\\-\\p{L}\\p{M}\\p{N}\\p{Pc}[^\\x00-\\x7F]]|\\\\(?:\\p{AHex}{1,6}|[^\\n])))\\2)+)\\p{space}*(?=[\\]\\$\\*\\=\\^\\|\\~]|/\\*)`,`dgv`,{hiddenCaptures:[2]})}]},{include:`#pseudo-classes`},{include:`#pseudo-elements`},{include:`#functional-pseudo-classes`},{match:RegExp(`(?\\[\\{\\|\\~\\p{space}]|\\/\\*|(?=\\n?$))`,`dgiv`),name:`entity.name.tag.css`},"unicode-range":{captures:{0:{name:`constant.other.unicode-range.css`},1:{name:`punctuation.separator.dash.unicode-range.css`}},match:RegExp(`(?{qA(),rj(),oj(),sj=Object.freeze({displayName:`HTML`,injections:{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{patterns:[{match:RegExp(`<`,`dgv`),name:`invalid.illegal.bad-angle-bracket.html`}]}},name:`html`,patterns:[{include:`#xml-processing`},{include:`#comment`},{include:`#doctype`},{include:`#cdata`},{include:`#tags-valid`},{include:`#tags-invalid`},{include:`#entities`}],repository:{attribute:{patterns:[{begin:RegExp(`(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.$1.html`,patterns:[{include:`#attribute-interior`}]},{begin:RegExp(`style(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.style.html`,patterns:[{begin:RegExp(`=`,`dgv`),beginCaptures:{0:{name:`punctuation.separator.key-value.html`}},end:RegExp(`(?<=[^\\=\\p{space}])(?!\\p{space}*=)|(?=\\/?>)`,`dgv`),patterns:[{begin:RegExp("(?=[^\\/\\<\\=\\>\\`\\p{space}]|\\/(?!>))",`dgv`),end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),name:`meta.embedded.line.css`,patterns:[{captures:{0:{name:`source.css`}},match:RegExp(`([^"'\\/\\<\\=\\>\\\`\\p{space}]|\\/(?!>))+`,`dgv`),name:`string.unquoted.html`},{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.html`}},contentName:`source.css`,end:RegExp(`(")`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.html`},1:{name:`source.css`}},name:`string.quoted.double.html`,patterns:[{include:`#entities`}]},{begin:RegExp(`'`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.html`}},contentName:`source.css`,end:RegExp(`(')`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.html`},1:{name:`source.css`}},name:`string.quoted.single.html`,patterns:[{include:`#entities`}]}]},{match:RegExp(`=`,`dgv`),name:`invalid.illegal.unexpected-equals-sign.html`}]}]},{begin:RegExp(`on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.event-handler.$1.html`,patterns:[{begin:RegExp(`=`,`dgv`),beginCaptures:{0:{name:`punctuation.separator.key-value.html`}},end:RegExp(`(?<=[^\\=\\p{space}])(?!\\p{space}*=)|(?=\\/?>)`,`dgv`),patterns:[{begin:RegExp("(?=[^\\/\\<\\=\\>\\`\\p{space}]|\\/(?!>))",`dgv`),end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),name:`meta.embedded.line.js`,patterns:[{captures:{0:{name:`source.js`},1:{patterns:[{include:`source.js`}]}},match:RegExp(`(([^"'\\/\\<\\=\\>\\\`\\p{space}]|\\/(?!>))+)`,`dgv`),name:`string.unquoted.html`},{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.html`}},contentName:`source.js`,end:RegExp(`(")`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.html`},1:{name:`source.js`}},name:`string.quoted.double.html`,patterns:[{captures:{0:{patterns:[{include:`source.js`}]}},match:RegExp(`([^\\n"\\/]|\\/(?![\\*\\/]))+`,`dgv`)},{begin:RegExp(`\\/\\/`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.js`}},end:RegExp(`(?=")|\\n`,`dgv`),name:`comment.line.double-slash.js`},{begin:RegExp(`\\/\\*`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.begin.js`}},end:RegExp(`(?=")|\\*\\/`,`dgv`),endCaptures:{0:{name:`punctuation.definition.comment.end.js`}},name:`comment.block.js`}]},{begin:RegExp(`'`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.html`}},contentName:`source.js`,end:RegExp(`(')`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.html`},1:{name:`source.js`}},name:`string.quoted.single.html`,patterns:[{captures:{0:{patterns:[{include:`source.js`}]}},match:RegExp(`([^\\n'\\/]|\\/(?![\\*\\/]))+`,`dgv`)},{begin:RegExp(`\\/\\/`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.js`}},end:RegExp(`(?=')|\\n`,`dgv`),name:`comment.line.double-slash.js`},{begin:RegExp(`\\/\\*`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.begin.js`}},end:RegExp(`(?=')|\\*\\/`,`dgv`),endCaptures:{0:{name:`punctuation.definition.comment.end.js`}},name:`comment.block.js`}]}]},{match:RegExp(`=`,`dgv`),name:`invalid.illegal.unexpected-equals-sign.html`}]}]},{begin:RegExp(`(data-[\\-a-z]+)(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.data-x.$1.html`,patterns:[{include:`#attribute-interior`}]},{begin:RegExp(`(align|bgcolor|border)(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`invalid.deprecated.entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.$1.html`,patterns:[{include:`#attribute-interior`}]},{begin:RegExp(`([^\\x00- "'\\/\\<\\=\\>\\x7F-\\x9F﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]+)`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.unrecognized.$1.html`,patterns:[{include:`#attribute-interior`}]},{match:RegExp(`[^\\>\\p{space}]+`,`dgv`),name:`invalid.illegal.character-not-allowed-here.html`}]},"attribute-interior":{patterns:[{begin:RegExp(`=`,`dgv`),beginCaptures:{0:{name:`punctuation.separator.key-value.html`}},end:RegExp(`(?<=[^\\=\\p{space}])(?!\\p{space}*=)|(?=\\/?>)`,`dgv`),patterns:[{match:RegExp(`([^"'\\/\\<\\=\\>\\\`\\p{space}]|\\/(?!>))+`,`dgv`),name:`string.unquoted.html`},{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.html`}},end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.html`}},name:`string.quoted.double.html`,patterns:[{include:`#entities`}]},{begin:RegExp(`'`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.html`}},end:RegExp(`'`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.html`}},name:`string.quoted.single.html`,patterns:[{include:`#entities`}]},{match:RegExp(`=`,`dgv`),name:`invalid.illegal.unexpected-equals-sign.html`}]}]},cdata:{begin:RegExp(``,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.cdata.html`},comment:{begin:RegExp(``,`dgv`),name:`comment.block.html`,patterns:[{match:RegExp(`-?>`,`dgvy`),name:`invalid.illegal.characters-not-allowed-here.html`},{match:RegExp(`)|(?=-->))`,`dgv`),name:`invalid.illegal.characters-not-allowed-here.html`},{match:RegExp(`--!>`,`dgv`),name:`invalid.illegal.characters-not-allowed-here.html`}]},"core-minus-invalid":{patterns:[{include:`#xml-processing`},{include:`#comment`},{include:`#doctype`},{include:`#cdata`},{include:`#tags-valid`},{include:`#entities`}]},doctype:{begin:RegExp(``,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.doctype.html`,patterns:[{match:RegExp(`DOCTYPE`,`dgivy`),name:`entity.name.tag.html`},{begin:RegExp(`"`,`dgv`),end:RegExp(`"`,`dgv`),name:`string.quoted.double.html`},{match:RegExp(`[^\\>\\p{space}]+`,`dgv`),name:`entity.other.attribute-name.html`}]},entities:{patterns:[{captures:{1:{name:`punctuation.definition.entity.html`},912:{name:`punctuation.definition.entity.html`}},match:new $(`(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)`,`dgv`,{lazyCompile:!0}),name:`constant.character.entity.named.$2.html`},{captures:{1:{name:`punctuation.definition.entity.html`},3:{name:`punctuation.definition.entity.html`}},match:RegExp(`(&)#[0-9]+(;)`,`dgv`),name:`constant.character.entity.numeric.decimal.html`},{captures:{1:{name:`punctuation.definition.entity.html`},3:{name:`punctuation.definition.entity.html`}},match:RegExp(`(&)#[Xx]\\p{AHex}+(;)`,`dgv`),name:`constant.character.entity.numeric.hexadecimal.html`},{match:RegExp(`&(?=[0-9A-Za-z]+;)`,`dgv`),name:`invalid.illegal.ambiguous-ampersand.html`}]},math:{patterns:[{begin:RegExp(`(<)(math)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.structure.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)`,`dgv`),endCaptures:{0:{name:`meta.tag.structure.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.structure.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]}],repository:{attribute:{patterns:[{begin:RegExp(`(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u([bp]scriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.$1.html`,patterns:[{include:`#attribute-interior`}]},{begin:RegExp(`([^\\x00- "'\\/\\<\\=\\>\\x7F-\\x9F﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]+)`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.unrecognized.$1.html`,patterns:[{include:`#attribute-interior`}]},{match:RegExp(`[^\\>\\p{space}]+`,`dgv`),name:`invalid.illegal.character-not-allowed-here.html`}]},tags:{patterns:[{include:`#comment`},{include:`#cdata`},{captures:{0:{name:`meta.tag.structure.math.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.structure.math.$2.html`},{begin:RegExp(`(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.structure.math.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.structure.math.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.structure.math.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.inline.math.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.inline.math.$2.html`},{begin:RegExp(`(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.inline.math.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.inline.math.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.inline.math.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.object.math.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(mglyph)(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.object.math.$2.html`},{begin:RegExp(`(<)(mglyph)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.object.math.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.object.math.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.object.math.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.other.invalid.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.unrecognized-tag.html`},4:{patterns:[{include:`#attribute`}]},6:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(([\\:\\p{L}\\p{M}\\p{N}\\p{Pc}]+))(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgv`),name:`meta.element.other.invalid.html`},{begin:RegExp(`(<)(([\\p{L}\\p{M}\\p{N}\\p{Pc}][^\\>\\p{space}]*))(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgv`),beginCaptures:{0:{name:`meta.tag.other.invalid.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.unrecognized-tag.html`},4:{patterns:[{include:`#attribute`}]},6:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)(((?!)))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.other.invalid.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.unrecognized-tag.html`},4:{name:`punctuation.definition.tag.end.html`},5:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.other.invalid.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.other.invalid.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{include:`#tags-invalid`}]}}},svg:{patterns:[{begin:RegExp(`(<)(svg)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.structure.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)`,`dgv`),endCaptures:{0:{name:`meta.tag.structure.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.structure.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]}],repository:{attribute:{patterns:[{begin:RegExp(`(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em([hv])|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y([12]|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS((?:cript|tyle)Type)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget([XY])?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At([XYZ]))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-([xy])|adv-y)))|alues)|k([123]|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f([XY]|errerPolicy)|l)|adius|x)?|g([12]|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x([12]|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk((?:Content|)Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![\\-\\:\\p{L}\\p{M}\\p{N}\\p{Pc}])`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.$1.html`,patterns:[{include:`#attribute-interior`}]},{begin:RegExp(`([^\\x00- "'\\/\\<\\=\\>\\x7F-\\x9F﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]+)`,`dgv`),beginCaptures:{0:{name:`entity.other.attribute-name.html`}},end:new $(`(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])`,`dgv`,{hiddenCaptures:[1]}),name:`meta.attribute.unrecognized.$1.html`,patterns:[{include:`#attribute-interior`}]},{match:RegExp(`[^\\>\\p{space}]+`,`dgv`),name:`invalid.illegal.character-not-allowed-here.html`}]},tags:{patterns:[{include:`#comment`},{include:`#cdata`},{captures:{0:{name:`meta.tag.metadata.svg.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(color-profile|desc|metadata|script|style|title)(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.metadata.svg.$2.html`},{begin:RegExp(`(<)(color-profile|desc|metadata|script|style|title)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.metadata.svg.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.metadata.svg.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.metadata.svg.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.structure.svg.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.structure.svg.$2.html`},{begin:RegExp(`(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.structure.svg.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.structure.svg.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.structure.svg.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.inline.svg.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.inline.svg.$2.html`},{begin:RegExp(`(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.inline.svg.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.inline.svg.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.inline.svg.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.object.svg.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.object.svg.$2.html`},{begin:RegExp(`(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.object.svg.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{patterns:[{include:`#attribute`}]},5:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)((?!))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.object.svg.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.object.svg.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.other.svg.$2.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`},4:{patterns:[{include:`#attribute`}]},6:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgiv`),name:`meta.element.other.svg.$2.html`},{begin:RegExp(`(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgiv`),beginCaptures:{0:{name:`meta.tag.other.svg.$2.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`},4:{patterns:[{include:`#attribute`}]},6:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)(((?!)))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.other.svg.$2.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`},4:{name:`punctuation.definition.tag.end.html`},5:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.other.svg.$2.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.other.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{captures:{0:{name:`meta.tag.other.invalid.void.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.unrecognized-tag.html`},4:{patterns:[{include:`#attribute`}]},6:{name:`punctuation.definition.tag.end.html`}},match:RegExp(`(<)(([\\:\\p{L}\\p{M}\\p{N}\\p{Pc}]+))(?=\\p{space}|\\/?>)(([^"'\\>]|"[^"]*"|'[^']*')*)(\\/>)`,`dgv`),name:`meta.element.other.invalid.html`},{begin:RegExp(`(<)(([\\p{L}\\p{M}\\p{N}\\p{Pc}][^\\>\\p{space}]*))(?=\\p{space}|\\/?>)(?:(([^"'\\>]|"[^"]*"|'[^']*')*)(>))?`,`dgv`),beginCaptures:{0:{name:`meta.tag.other.invalid.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.unrecognized-tag.html`},4:{patterns:[{include:`#attribute`}]},6:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(<\\/)(((?!)))\\p{space}*(>)|(\\/>)|(?=<\\/[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),endCaptures:{0:{name:`meta.tag.other.invalid.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.unrecognized-tag.html`},4:{name:`punctuation.definition.tag.end.html`},5:{name:`punctuation.definition.tag.end.html`}},name:`meta.element.other.invalid.html`,patterns:[{begin:RegExp(`(?)`,`dgvy`),end:RegExp(`(?=\\/>)|>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.other.invalid.start.html`,patterns:[{include:`#attribute`}]},{include:`#tags`}]},{include:`#tags-invalid`}]}}},"tags-invalid":{patterns:[{begin:RegExp(`(<\\/?)(([\\p{L}\\p{M}\\p{N}\\p{Pc}][^\\>\\p{space}]*))(?)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.other.$2.html`,patterns:[{include:`#attribute`}]}]},"tags-valid":{patterns:[{begin:RegExp(`(^[\\t ]+)?(?=)`,`dgiv`),beginCaptures:{0:{name:`meta.tag.metadata.style.start.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`((<)\\/)(style)\\p{space}*(>)`,`dgiv`),endCaptures:{0:{name:`meta.tag.metadata.style.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`source.css-ignored-vscode`},3:{name:`entity.name.tag.html`},4:{name:`punctuation.definition.tag.end.html`}},name:`meta.embedded.block.html`,patterns:[{begin:RegExp(`(?:)`,`dgv`),captures:{1:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`(>)`,`dgv`),name:`meta.tag.metadata.style.start.html`,patterns:[{include:`#attribute`}]},{begin:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),end:RegExp(`(?=<\\/style)`,`dgiv`),name:`source.css`,patterns:[{include:`source.css`}]}]}]},{begin:RegExp(`(^[\\t ]+)?(?=)`,`dgiv`),endCaptures:{0:{name:`meta.tag.metadata.script.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`punctuation.definition.tag.end.html`}},name:`meta.embedded.block.html`,patterns:[{begin:RegExp(`(?:)`,`dgv`),end:RegExp(`(?=\\/)`,`dgv`),patterns:[{begin:RegExp(`(>)`,`dgv`),beginCaptures:{0:{name:`meta.tag.metadata.script.start.html`},1:{name:`punctuation.definition.tag.end.html`}},end:RegExp(`((<))(?=\\/script)`,`dgiv`),endCaptures:{0:{name:`meta.tag.metadata.script.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`source.js-ignored-vscode`}},patterns:[{begin:RegExp(`(?:)`,`dgv`),end:RegExp(`(?=<\\/script)`,`dgiv`),name:`source.js`,patterns:[{begin:RegExp(`(^[\\t ]+)?(?=\\/\\/)`,`dgv`),beginCaptures:{1:{name:`punctuation.whitespace.comment.leading.js`}},end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),patterns:[{begin:RegExp(`\\/\\/`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.js`}},end:RegExp(`(?=<\\/script)|\\n`,`dgv`),name:`comment.line.double-slash.js`}]},{begin:RegExp(`\\/\\*`,`dgv`),captures:{0:{name:`punctuation.definition.comment.js`}},end:RegExp(`\\*\\/|(?=<\\/script)`,`dgv`),name:`comment.block.js`},{include:`source.js`}]}]},{begin:RegExp(`(?:)`,`dgv`),end:RegExp(`(?=>|type(?=[\\=\\p{space}])(?!\\p{space}*=\\p{space}*(''|""|(["']?)(text\\/(javascript(1\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application\\/((?:(x-)?jav|(x-)?ecm)ascript)|module)["'\\>\\p{space}])))`,`dgiv`),name:`meta.tag.metadata.script.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(?=type\\p{space}*=\\p{space}*(["']?)text\\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)["'\\>\\p{space}])`,`dgiv`),end:RegExp(`((<))(?=\\/script)`,`dgiv`),endCaptures:{0:{name:`meta.tag.metadata.script.end.html`},1:{name:`punctuation.definition.tag.begin.html`},2:{name:`text.html.basic`}},patterns:[{begin:RegExp(`(?:)`,`dgv`),end:RegExp(`(>)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.script.start.html`,patterns:[{include:`#attribute`}]},{begin:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),end:RegExp(`(?=<\\/script)`,`dgiv`),name:`text.html.basic`,patterns:[{include:`text.html.basic`}]}]},{begin:RegExp(`(?=type)`,`dgiv`),end:RegExp(`(<)(?=\\/script)`,`dgiv`),endCaptures:{0:{name:`meta.tag.metadata.script.end.html`},1:{name:`punctuation.definition.tag.begin.html`}},patterns:[{begin:RegExp(`(?:)`,`dgv`),end:RegExp(`(>)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.script.start.html`,patterns:[{include:`#attribute`}]},{begin:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),end:RegExp(`(?=<\\/script)`,`dgiv`),name:`source.unknown`}]}]}]}]},{begin:RegExp(`(<)(base|link|meta)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.$2.void.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(noscript|title)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)(noscript|title)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(col|hr|input)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.$2.void.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(area|br|wbr)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.$2.void.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(embed|img|param|source|track)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.$2.void.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)(audio|canvas|iframe|object|picture|video)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)(audio|canvas|iframe|object|picture|video)(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)((basefont|isindex))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.metadata.$2.void.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)((center|frameset|noembed|noframes))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)((center|frameset|noembed|noframes))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.structure.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)((acronym|big|blink|font|strike|tt|xmp))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.inline.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)((frame))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.$2.void.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)((applet))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)((applet))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.deprecated.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.object.$2.end.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.no-longer-supported.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.other.$2.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\p{space}|\\/?>)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`},3:{name:`invalid.illegal.no-longer-supported.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.other.$2.end.html`,patterns:[{include:`#attribute`}]},{include:`#math`},{include:`#svg`},{begin:RegExp(`(<)([A-Za-z][\\.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\u{EFFFF}]*-[\\-\\.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\u{EFFFF}]*)(?=\\p{space}|\\/?>)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`\\/?>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.custom.start.html`,patterns:[{include:`#attribute`}]},{begin:RegExp(`(<\\/)([A-Za-z][\\.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\u{EFFFF}]*-[\\-\\.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\u{EFFFF}]*)(?=\\p{space}|\\/?>)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.begin.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.tag.end.html`}},name:`meta.tag.custom.end.html`,patterns:[{include:`#attribute`}]}]},"xml-processing":{begin:RegExp(`(<\\?)(xml)`,`dgv`),captures:{1:{name:`punctuation.definition.tag.html`},2:{name:`entity.name.tag.html`}},end:RegExp(`(\\?>)`,`dgv`),name:`meta.tag.metadata.processing.xml.html`,patterns:[{include:`#attribute`}]}},scopeName:`text.html.basic`,embeddedLangs:[`javascript`,`css`],aliases:void 0}),cj=[...nj,...aj,sj]})),uj,dj,fj=t((()=>{qA(),uj=Object.freeze({displayName:`Java`,name:`java`,patterns:[{begin:RegExp(`\\b(package)\\b\\p{space}*`,`dgv`),beginCaptures:{1:{name:`keyword.other.package.java`}},contentName:`storage.modifier.package.java`,end:RegExp(`\\p{space}*(;)`,`dgv`),endCaptures:{1:{name:`punctuation.terminator.java`}},name:`meta.package.java`,patterns:[{include:`#comments`},{match:RegExp(`(?<=\\.)\\p{space}*\\.|\\.(?=\\p{space}*;)`,`dgv`),name:`invalid.illegal.character_not_allowed_here.java`},{match:RegExp(`(?`,`dgv`),endCaptures:{0:{name:`punctuation.bracket.angle.java`}},patterns:[{match:RegExp(`\\b(extends|super)\\b`,`dgv`),name:`storage.modifier.$1.java`},{captures:{1:{name:`storage.type.java`}},match:RegExp(`(?>>?|[\\^\\~])`,`dgv`),name:`keyword.operator.bitwise.java`},{match:RegExp(`(([\\&\\^\\|]|<<|>>>?)=)`,`dgv`),name:`keyword.operator.assignment.bitwise.java`},{match:RegExp(`(===?|!=|<=|>=|<>|[\\<\\>])`,`dgv`),name:`keyword.operator.comparison.java`},{match:RegExp(`([\\-\\%\\*\\+\\/]=)`,`dgv`),name:`keyword.operator.assignment.arithmetic.java`},{match:RegExp(`(=)`,`dgv`),name:`keyword.operator.assignment.java`},{match:RegExp(`(--|\\+\\+)`,`dgv`),name:`keyword.operator.increment-decrement.java`},{match:RegExp(`([\\-\\%\\*\\+\\/])`,`dgv`),name:`keyword.operator.arithmetic.java`},{match:RegExp(`(!|&&|\\|\\|)`,`dgv`),name:`keyword.operator.logical.java`},{match:RegExp(`([\\&\\|])`,`dgv`),name:`keyword.operator.bitwise.java`},{match:RegExp(`\\b(const|goto)\\b`,`dgv`),name:`keyword.reserved.java`}]},"lambda-expression":{patterns:[{match:RegExp(`->`,`dgv`),name:`storage.type.function.arrow.java`}]},"member-variables":{begin:RegExp(`(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)`,`dgv`),end:RegExp(`(?=[\\;\\=])`,`dgv`),patterns:[{include:`#storage-modifiers`},{include:`#variables`},{include:`#primitive-arrays`},{include:`#object-types`}]},"method-call":{begin:RegExp(`(\\.)\\p{space}*([\\$A-Z_a-z][\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]*)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{name:`punctuation.separator.period.java`},2:{name:`entity.name.function.java`},3:{name:`punctuation.definition.parameters.begin.bracket.round.java`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.java`}},name:`meta.method-call.java`,patterns:[{include:`#code`}]},methods:{begin:RegExp(`(?!new)(?=[\\<\\p{L}\\p{M}\\p{N}\\p{Pc}][^\\n]*\\p{space}+)(?=([^\\/\\=]|\\/(?!\\/))+\\()`,`dgv`),end:RegExp(`(\\})|(?=;)`,`dgv`),endCaptures:{1:{name:`punctuation.section.method.end.bracket.curly.java`}},name:`meta.method.java`,patterns:[{include:`#storage-modifiers`},{begin:RegExp(`([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{name:`entity.name.function.java`},2:{name:`punctuation.definition.parameters.begin.bracket.round.java`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.java`}},name:`meta.method.identifier.java`,patterns:[{include:`#parameters`},{include:`#parens`},{include:`#comments`}]},{include:`#generics`},{begin:RegExp(`(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}][^\\n]*\\p{space}+[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\p{space}*\\()`,`dgv`),end:RegExp(`(?=\\p{space}+[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\p{space}*\\()`,`dgv`),name:`meta.method.return-type.java`,patterns:[{include:`#all-types`},{include:`#parens`},{include:`#comments`}]},{include:`#throws`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.method.begin.bracket.curly.java`}},contentName:`meta.method.body.java`,end:RegExp(`(?=\\})`,`dgv`),patterns:[{include:`#code`}]},{include:`#comments`}]},module:{begin:RegExp(`((open)\\p{space})?(module)\\p{space}+([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),beginCaptures:{1:{name:`storage.modifier.java`},3:{name:`storage.modifier.java`},4:{name:`entity.name.type.module.java`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.section.module.end.bracket.curly.java`}},name:`meta.module.java`,patterns:[{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.module.begin.bracket.curly.java`}},contentName:`meta.module.body.java`,end:RegExp(`(?=\\})`,`dgv`),patterns:[{include:`#comments`},{include:`#comments-javadoc`},{match:RegExp(`\\b(requires|transitive|exports|opens|to|uses|provides|with)\\b`,`dgv`),name:`keyword.module.java`}]}]},numbers:{patterns:[{match:RegExp(`\\b(?)?(\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.java`},2:{name:`entity.name.type.record.java`},3:{patterns:[{include:`#generics`}]},4:{name:`punctuation.definition.parameters.begin.bracket.round.java`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.java`}},name:`meta.record.identifier.java`,patterns:[{include:`#code`}]},{begin:RegExp(`(implements)\\p{space}`,`dgv`),beginCaptures:{1:{name:`storage.modifier.implements.java`}},end:RegExp(`(?=\\p{space}*\\{)`,`dgv`),name:`meta.definition.class.implemented.interfaces.java`,patterns:[{include:`#object-types-inherited`},{include:`#comments`}]},{include:`#record-body`}]},"record-body":{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.class.begin.bracket.curly.java`}},end:RegExp(`(?=\\})`,`dgv`),name:`meta.record.body.java`,patterns:[{include:`#record-constructor`},{include:`#class-body`}]},"record-constructor":{begin:RegExp(`(?!new)(?=[\\<\\p{L}\\p{M}\\p{N}\\p{Pc}][^\\n]*\\p{space}+)(?=([^\\(\\/\\=]|\\/(?!\\/))+(?=\\{))`,`dgv`),end:RegExp(`(\\})|(?=;)`,`dgv`),endCaptures:{1:{name:`punctuation.section.method.end.bracket.curly.java`}},name:`meta.method.java`,patterns:[{include:`#storage-modifiers`},{begin:RegExp(`([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),beginCaptures:{1:{name:`entity.name.function.java`}},end:RegExp(`(?=\\p{space}*\\{)`,`dgv`),name:`meta.method.identifier.java`,patterns:[{include:`#comments`}]},{include:`#comments`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.method.begin.bracket.curly.java`}},contentName:`meta.method.body.java`,end:RegExp(`(?=\\})`,`dgv`),patterns:[{include:`#code`}]}]},"static-initializer":{patterns:[{include:`#anonymous-block-and-instance-initializer`},{match:RegExp(`static`,`dgv`),name:`storage.modifier.java`}]},"storage-modifiers":{match:RegExp(`\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\b`,`dgv`),name:`storage.modifier.java`},strings:{patterns:[{begin:RegExp(`"""`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.java`}},end:RegExp(`"""`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.java`}},name:`string.quoted.triple.java`,patterns:[{match:RegExp(`(\\\\""")(?!")|(\\\\[^\\n])`,`dgv`),name:`constant.character.escape.java`}]},{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.java`}},end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.java`}},name:`string.quoted.double.java`,patterns:[{match:RegExp(`\\\\[^\\n]`,`dgv`),name:`constant.character.escape.java`}]},{begin:RegExp(`'`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.java`}},end:RegExp(`'`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.java`}},name:`string.quoted.single.java`,patterns:[{match:RegExp(`\\\\[^\\n]`,`dgv`),name:`constant.character.escape.java`}]}]},throws:{begin:RegExp(`throws`,`dgv`),beginCaptures:{0:{name:`storage.modifier.java`}},end:RegExp(`(?=[\\;\\{])`,`dgv`),name:`meta.throwables.java`,patterns:[{match:RegExp(`,`,`dgv`),name:`punctuation.separator.delimiter.java`},{match:RegExp(`[\\$A-Z_a-z][\\$\\.0-9A-Z_a-z]*`,`dgv`),name:`storage.type.java`},{include:`#comments`}]},"try-catch-finally":{patterns:[{begin:RegExp(`\\btry\\b`,`dgv`),beginCaptures:{0:{name:`keyword.control.try.java`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.section.try.end.bracket.curly.java`}},name:`meta.try.java`,patterns:[{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.section.try.resources.begin.bracket.round.java`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.section.try.resources.end.bracket.round.java`}},name:`meta.try.resources.java`,patterns:[{include:`#code`}]},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.try.begin.bracket.curly.java`}},contentName:`meta.try.body.java`,end:RegExp(`(?=\\})`,`dgv`),patterns:[{include:`#code`}]}]},{begin:RegExp(`\\b(catch)\\b`,`dgv`),beginCaptures:{1:{name:`keyword.control.catch.java`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.section.catch.end.bracket.curly.java`}},name:`meta.catch.java`,patterns:[{include:`#comments`},{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.parameters.begin.bracket.round.java`}},contentName:`meta.catch.parameters.java`,end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.java`}},patterns:[{include:`#comments`},{include:`#storage-modifiers`},{begin:RegExp(`[\\$A-Z_a-z][\\$\\.0-9A-Z_a-z]*`,`dgv`),beginCaptures:{0:{name:`storage.type.java`}},end:RegExp(`(\\|)|(?=\\))`,`dgv`),endCaptures:{1:{name:`punctuation.catch.separator.java`}},patterns:[{include:`#comments`},{captures:{0:{name:`variable.parameter.java`}},match:RegExp(`[\\p{L}\\p{M}\\p{N}\\p{Pc}]+`,`dgv`)}]}]},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.catch.begin.bracket.curly.java`}},contentName:`meta.catch.body.java`,end:RegExp(`(?=\\})`,`dgv`),patterns:[{include:`#code`}]}]},{begin:RegExp(`\\bfinally\\b`,`dgv`),beginCaptures:{0:{name:`keyword.control.finally.java`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.section.finally.end.bracket.curly.java`}},name:`meta.finally.java`,patterns:[{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.section.finally.begin.bracket.curly.java`}},contentName:`meta.finally.body.java`,end:RegExp(`(?=\\})`,`dgv`),patterns:[{include:`#code`}]}]}]},variables:{begin:new $(`(?=\\b((void|boolean|byte|char|short|int|float|long|double)|(?:(?=(([\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\.)*[A-Z_]+[\\p{L}\\p{M}\\p{N}\\p{Pc}]*))\\3))\\b\\p{space}*(<[\\]\\,\\.\\<\\>\\?\\[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{space}]*>)?\\p{space}*((\\[\\])*)?\\p{space}+[\\$A-Z_a-z][\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]*([\\]\\$\\,\\[\\p{L}\\p{M}\\p{N}\\p{Pc}][\\]\\,\\[\\p{L}\\p{M}\\p{N}\\p{Pc}\\p{space}]*)?\\p{space}*([\\:\\;\\=]))`,`dgv`,{hiddenCaptures:[3]}),end:RegExp(`(?=[\\:\\;\\=])`,`dgv`),name:`meta.definition.variable.java`,patterns:[{captures:{1:{name:`variable.other.definition.java`}},match:RegExp(`([\\$A-Z_a-z][\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(?=\\p{space}*(\\[\\])*\\p{space}*([\\,\\:\\;\\=]))`,`dgv`)},{include:`#all-types`},{include:`#code`}]},"variables-local":{begin:RegExp(`(?=\\b(var)\\b\\p{space}+[\\$A-Z_a-z][\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]*\\p{space}*([\\:\\;\\=]))`,`dgv`),end:RegExp(`(?=[\\:\\;\\=])`,`dgv`),name:`meta.definition.variable.local.java`,patterns:[{match:RegExp(`\\bvar\\b`,`dgv`),name:`storage.type.local.java`},{captures:{1:{name:`variable.other.definition.java`}},match:RegExp(`([\\$A-Z_a-z][\\$\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(?=\\p{space}*(\\[\\])*\\p{space}*([\\:\\;\\=]))`,`dgv`)},{include:`#code`}]}},scopeName:`source.java`,embeddedLangs:void 0,aliases:void 0}),dj=[uj]})),pj,mj,hj=t((()=>{fj(),pj=Object.freeze({displayName:`XML`,name:`xml`,patterns:[{begin:RegExp(`(<\\?)\\p{space}*([\\-0-9A-Z_a-z]+)`,`dgv`),captures:{1:{name:`punctuation.definition.tag.xml`},2:{name:`entity.name.tag.xml`}},end:RegExp(`(\\?>)`,`dgv`),name:`meta.tag.preprocessor.xml`,patterns:[{match:RegExp(` ([\\-A-Za-z]+)`,`dgv`),name:`entity.other.attribute-name.xml`},{include:`#doublequotedString`},{include:`#singlequotedString`}]},{begin:RegExp(`()`,`dgv`),name:`meta.tag.sgml.doctype.xml`,patterns:[{include:`#internalSubset`}]},{include:`#comments`},{begin:RegExp(`(<)((?:([\\-0-9A-Z_a-z]+)(:))?([\\-0-\\:A-Z_a-z]+))(?=(\\p{space}[^\\>]*)?><\\/\\2>)`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.tag.xml`},2:{name:`entity.name.tag.xml`},3:{name:`entity.name.tag.namespace.xml`},4:{name:`punctuation.separator.namespace.xml`},5:{name:`entity.name.tag.localname.xml`}},end:RegExp(`(>)(<\\/)((?:([\\-0-9A-Z_a-z]+)(:))?([\\-0-\\:A-Z_a-z]+))(>)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.tag.xml`},2:{name:`punctuation.definition.tag.xml`},3:{name:`entity.name.tag.xml`},4:{name:`entity.name.tag.namespace.xml`},5:{name:`punctuation.separator.namespace.xml`},6:{name:`entity.name.tag.localname.xml`},7:{name:`punctuation.definition.tag.xml`}},name:`meta.tag.no-content.xml`,patterns:[{include:`#tagStuff`}]},{begin:RegExp(`(<\\/?)(?:([\\-\\.\\p{L}\\p{M}\\p{N}\\p{Pc}]+)((:)))?([\\-\\.\\:\\p{L}\\p{M}\\p{N}\\p{Pc}]+)`,`dgv`),captures:{1:{name:`punctuation.definition.tag.xml`},2:{name:`entity.name.tag.namespace.xml`},3:{name:`entity.name.tag.xml`},4:{name:`punctuation.separator.namespace.xml`},5:{name:`entity.name.tag.localname.xml`}},end:RegExp(`(\\/?>)`,`dgv`),name:`meta.tag.xml`,patterns:[{include:`#tagStuff`}]},{include:`#entity`},{include:`#bare-ampersand`},{begin:RegExp(`<%@`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.xml`}},end:RegExp(`%>`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.xml`}},name:`source.java-props.embedded.xml`,patterns:[{match:RegExp(`page|include|taglib`,`dgv`),name:`keyword.other.page-props.xml`}]},{begin:RegExp(`<%[\\!\\=]?(?!--)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.xml`}},end:RegExp(`(?!--)%>`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.xml`}},name:`source.java.embedded.xml`,patterns:[{include:`source.java`}]},{begin:RegExp(``,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.xml`}},name:`string.unquoted.cdata.xml`}],repository:{EntityDecl:{begin:RegExp(`()`,`dgv`),patterns:[{include:`#doublequotedString`},{include:`#singlequotedString`}]},"bare-ampersand":{match:RegExp(`&`,`dgv`),name:`invalid.illegal.bad-ampersand.xml`},comments:{patterns:[{begin:RegExp(`<%--`,`dgv`),captures:{0:{name:`punctuation.definition.comment.xml`},end:`--%>`,name:`comment.block.xml`}},{begin:RegExp(``,`dgv`),name:`comment.block.xml`,patterns:[{begin:RegExp(`--(?!>)`,`dgv`),captures:{0:{name:`invalid.illegal.bad-comments-or-CDATA.xml`}}}]}]},doublequotedString:{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.xml`}},end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.xml`}},name:`string.quoted.double.xml`,patterns:[{include:`#entity`},{include:`#bare-ampersand`}]},entity:{captures:{1:{name:`punctuation.definition.constant.xml`},3:{name:`punctuation.definition.constant.xml`}},match:RegExp(`(&)([\\:A-Z_a-z][\\-\\.0-\\:A-Z_a-z]*|#[0-9]+|#x\\p{AHex}+)(;)`,`dgv`),name:`constant.character.entity.xml`},internalSubset:{begin:RegExp(`(\\[)`,`dgv`),captures:{1:{name:`punctuation.definition.constant.xml`}},end:RegExp(`(\\])`,`dgv`),name:`meta.internalsubset.xml`,patterns:[{include:`#EntityDecl`},{include:`#parameterEntity`},{include:`#comments`}]},parameterEntity:{captures:{1:{name:`punctuation.definition.constant.xml`},3:{name:`punctuation.definition.constant.xml`}},match:RegExp(`(%)([\\:A-Z_a-z][\\-\\.0-\\:A-Z_a-z]*)(;)`,`dgv`),name:`constant.character.parameter-entity.xml`},singlequotedString:{begin:RegExp(`'`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.xml`}},end:RegExp(`'`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.xml`}},name:`string.quoted.single.xml`,patterns:[{include:`#entity`},{include:`#bare-ampersand`}]},tagStuff:{patterns:[{captures:{1:{name:`entity.other.attribute-name.namespace.xml`},2:{name:`entity.other.attribute-name.xml`},3:{name:`punctuation.separator.namespace.xml`},4:{name:`entity.other.attribute-name.localname.xml`}},match:RegExp(`(?:^|\\p{space}+)(?:([\\-\\.\\p{L}\\p{M}\\p{N}\\p{Pc}]+)((:)))?([\\-\\.\\:\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\p{space}*=`,`dgv`)},{include:`#doublequotedString`},{include:`#singlequotedString`}]}},scopeName:`text.xml`,embeddedLangs:[`java`],aliases:void 0}),mj=[...dj,pj]})),gj=n({default:()=>vj},1),_j,vj,yj=t((()=>{qA(),_j=Object.freeze({displayName:`SQL`,name:`sql`,patterns:[{match:RegExp(`((?]?=|<>|[\\<\\>]`,`dgv`),name:`keyword.operator.comparison.sql`},{match:RegExp(`[\\-\\+\\/]`,`dgv`),name:`keyword.operator.math.sql`},{match:RegExp(`\\|\\|`,`dgv`),name:`keyword.operator.concatenator.sql`},{captures:{1:{name:`support.function.aggregate.sql`}},match:RegExp(`\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.analytic.sql`}},match:RegExp(`\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.bitmanipulation.sql`}},match:RegExp(`\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.conversion.sql`}},match:RegExp(`\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.collation.sql`}},match:RegExp(`\\b(collationproperty|tertiary_weights)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.cryptographic.sql`}},match:RegExp(`\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.cursor.sql`}},match:RegExp(`\\b(cursor_status)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.datetime.sql`}},match:RegExp(`\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.datatype.sql`}},match:RegExp(`\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.expression.sql`}},match:RegExp(`\\b(coalesce|nullif)\\b\\p{space}*\\(`,`dgiv`)},{captures:{1:{name:`support.function.globalvar.sql`}},match:RegExp(`(?Sj},1),xj,Sj,Cj=t((()=>{xj=Object.freeze({displayName:`JSON`,name:`json`,patterns:[{include:`#value`}],repository:{array:{begin:RegExp(`\\[`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.array.begin.json`}},end:RegExp(`\\]`,`dgv`),endCaptures:{0:{name:`punctuation.definition.array.end.json`}},name:`meta.structure.array.json`,patterns:[{include:`#value`},{match:RegExp(`,`,`dgv`),name:`punctuation.separator.array.json`},{match:RegExp(`[^\\]\\p{space}]`,`dgv`),name:`invalid.illegal.expected-array-separator.json`}]},comments:{patterns:[{begin:RegExp(`\\/\\*\\*(?!\\/)`,`dgv`),captures:{0:{name:`punctuation.definition.comment.json`}},end:RegExp(`\\*\\/`,`dgv`),name:`comment.block.documentation.json`},{begin:RegExp(`\\/\\*`,`dgv`),captures:{0:{name:`punctuation.definition.comment.json`}},end:RegExp(`\\*\\/`,`dgv`),name:`comment.block.json`},{captures:{1:{name:`punctuation.definition.comment.json`}},match:RegExp(`(\\/\\/)[^\\n]*(?=\\n?$)\\n?`,`dgv`),name:`comment.line.double-slash.js`}]},constant:{match:RegExp(`\\b(?:true|false|null)\\b`,`dgv`),name:`constant.language.json`},number:{match:RegExp(`-?(?:0|[1-9]\\p{Nd}*)(?:(?:\\.\\p{Nd}+)?(?:[Ee][\\-\\+]?\\p{Nd}+)?)?`,`dgv`),name:`constant.numeric.json`},object:{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.dictionary.begin.json`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.dictionary.end.json`}},name:`meta.structure.dictionary.json`,patterns:[{include:`#objectkey`},{include:`#comments`},{begin:RegExp(`:`,`dgv`),beginCaptures:{0:{name:`punctuation.separator.dictionary.key-value.json`}},end:RegExp(`(,)|(?=\\})`,`dgv`),endCaptures:{1:{name:`punctuation.separator.dictionary.pair.json`}},name:`meta.structure.dictionary.value.json`,patterns:[{include:`#value`},{match:RegExp(`[^\\,\\p{space}]`,`dgv`),name:`invalid.illegal.expected-dictionary-separator.json`}]},{match:RegExp(`[^\\}\\p{space}]`,`dgv`),name:`invalid.illegal.expected-dictionary-separator.json`}]},objectkey:{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.support.type.property-name.begin.json`}},end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.support.type.property-name.end.json`}},name:`string.json support.type.property-name.json`,patterns:[{include:`#stringcontent`}]},string:{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.json`}},end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.json`}},name:`string.quoted.double.json`,patterns:[{include:`#stringcontent`}]},stringcontent:{patterns:[{match:RegExp(`\\\\(?:["\\/\\\\bfnrt]|u\\p{AHex}{4})`,`dgv`),name:`constant.character.escape.json`},{match:RegExp(`\\\\[^\\n]`,`dgv`),name:`invalid.illegal.unrecognized-string-escape.json`}]},value:{patterns:[{include:`#constant`},{include:`#number`},{include:`#string`},{include:`#array`},{include:`#object`},{include:`#comments`}]}},scopeName:`source.json`,embeddedLangs:void 0,aliases:void 0}),Sj=[xj]})),wj=n({default:()=>Ej},1),Tj,Ej,Dj=t((()=>{qA(),lj(),hj(),yj(),rj(),Cj(),oj(),Tj=Object.freeze({displayName:`PHP`,name:`php`,patterns:[{include:`#attribute`},{include:`#comments`},{captures:{1:{name:`keyword.other.namespace.php`},2:{name:`entity.name.type.namespace.php`,patterns:[{match:RegExp(`\\\\`,`dgv`),name:`punctuation.separator.inheritance.php`}]}},match:RegExp(`(?:^|(?<=<\\?php))\\p{space}*(namespace)\\p{space}+([0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)(?=\\p{space}*;)`,`dgiv`),name:`meta.namespace.php`},{begin:RegExp(`(?:^|(?<=<\\?php))\\p{space}*(namespace)\\p{space}+`,`dgiv`),beginCaptures:{1:{name:`keyword.other.namespace.php`}},end:RegExp(`(?<=\\})|(?=\\?>)`,`dgv`),name:`meta.namespace.php`,patterns:[{include:`#comments`},{captures:{0:{patterns:[{match:RegExp(`\\\\`,`dgv`),name:`punctuation.separator.inheritance.php`}]}},match:RegExp(`[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+`,`dgiv`),name:`entity.name.type.namespace.php`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.namespace.begin.bracket.curly.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.namespace.end.bracket.curly.php`}},patterns:[{include:`$self`}]},{match:RegExp(`\\P{space}+`,`dgv`),name:`invalid.illegal.identifier.php`}]},{match:RegExp(`\\p{space}+(?=use\\b)`,`dgv`)},{begin:RegExp(`\\buse\\b`,`dgiv`),beginCaptures:{0:{name:`keyword.other.use.php`}},end:RegExp(`(?<=\\})|(?=;)|(?=\\?>)`,`dgv`),name:`meta.use.php`,patterns:[{match:RegExp(`\\b(const|function)\\b`,`dgv`),name:"storage.type.${1:/downcase}.php"},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.use.begin.bracket.curly.php`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.use.end.bracket.curly.php`}},patterns:[{include:`#scope-resolution`},{captures:{1:{name:`keyword.other.use-as.php`},2:{name:`storage.modifier.php`},3:{name:`entity.other.alias.php`}},match:RegExp(`\\b(as)\\p{space}+(final|abstract|public|private|protected|static)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`)},{captures:{1:{name:`keyword.other.use-as.php`},2:{patterns:[{match:RegExp(`^(?:final|abstract|public|private|protected|static)(?=\\n?$)`,`dgv`),name:`storage.modifier.php`},{match:RegExp(`[^\\n]+`,`dgv`),name:`entity.other.alias.php`}]}},match:RegExp(`\\b(as)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`)},{captures:{1:{name:`keyword.other.use-insteadof.php`},2:{name:`support.class.php`}},match:RegExp(`\\b(insteadof)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`)},{match:RegExp(`;`,`dgv`),name:`punctuation.terminator.expression.php`},{include:`#use-inner`}]},{include:`#use-inner`}]},{begin:RegExp(`\\b(trait)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`),beginCaptures:{1:{name:`storage.type.trait.php`},2:{name:`entity.name.type.trait.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.trait.end.bracket.curly.php`}},name:`meta.trait.php`,patterns:[{include:`#comments`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.trait.begin.bracket.curly.php`}},contentName:`meta.trait.body.php`,end:RegExp(`(?=\\}|\\?>)`,`dgv`),patterns:[{include:`$self`}]}]},{begin:RegExp(`\\b(interface)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`),beginCaptures:{1:{name:`storage.type.interface.php`},2:{name:`entity.name.type.interface.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.interface.end.bracket.curly.php`}},name:`meta.interface.php`,patterns:[{include:`#comments`},{include:`#interface-extends`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.interface.begin.bracket.curly.php`}},contentName:`meta.interface.body.php`,end:RegExp(`(?=\\}|\\?>)`,`dgv`),patterns:[{include:`#class-constant`},{include:`$self`}]}]},{begin:RegExp(`\\b(enum)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(?:\\p{space}*(:)\\p{space}*(int|string)\\b)?`,`dgiv`),beginCaptures:{1:{name:`storage.type.enum.php`},2:{name:`entity.name.type.enum.php`},3:{name:`keyword.operator.return-value.php`},4:{name:`keyword.other.type.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.enum.end.bracket.curly.php`}},name:`meta.enum.php`,patterns:[{include:`#comments`},{include:`#class-implements`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.enum.begin.bracket.curly.php`}},contentName:`meta.enum.body.php`,end:RegExp(`(?=\\}|\\?>)`,`dgv`),patterns:[{captures:{1:{name:`storage.modifier.php`},2:{name:`constant.enum.php`}},match:RegExp(`\\b(case)\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`)},{include:`#class-constant`},{include:`$self`}]}]},{begin:RegExp(`\\b(?:((?:(?:final|abstract|readonly)\\p{space}+)*)(class)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)|(new)\\b\\p{space}*(#\\[[^\\n]*\\])?\\p{space}*(?:(readonly)\\p{space}+)?\\b(class)\\b)`,`dgiv`),beginCaptures:{1:{patterns:[{match:RegExp(`final|abstract`,`dgv`),name:"storage.modifier.${0:/downcase}.php"},{match:RegExp(`readonly`,`dgv`),name:`storage.modifier.php`}]},2:{name:`storage.type.class.php`},3:{name:`entity.name.type.class.php`},4:{name:`keyword.other.new.php`},5:{patterns:[{include:`#attribute`}]},6:{name:`storage.modifier.php`},7:{name:`storage.type.class.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.class.end.bracket.curly.php`}},name:`meta.class.php`,patterns:[{begin:RegExp(`(?<=class)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{name:`punctuation.definition.arguments.begin.bracket.round.php`}},end:RegExp(`\\)|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},name:`meta.function-call.php`,patterns:[{include:`#named-arguments`},{include:`$self`}]},{include:`#comments`},{include:`#class-extends`},{include:`#class-implements`},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.class.begin.bracket.curly.php`}},contentName:`meta.class.body.php`,end:RegExp(`(?=\\}|\\?>)`,`dgv`),patterns:[{include:`#class-constant`},{include:`$self`}]}]},{include:`#match_statement`},{include:`#switch_statement`},{captures:{1:{name:`keyword.control.yield-from.php`}},match:RegExp(`\\p{space}*\\b(yield\\p{space}+from)\\b`,`dgv`)},{captures:{1:{name:"keyword.control.${1:/downcase}.php"}},match:RegExp(`\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\b`,`dgv`)},{begin:RegExp(`\\b((?:require|include)(?:_once)?)(\\p{space}+|(?=\\())`,`dgiv`),beginCaptures:{1:{name:`keyword.control.import.include.php`}},end:RegExp(`(?=[\\;\\p{space}]|(?=\\n?$)|\\?>)`,`dgv`),name:`meta.include.php`,patterns:[{include:`$self`}]},{begin:RegExp(`\\b(catch)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{name:`keyword.control.exception.catch.php`},2:{name:`punctuation.definition.parameters.begin.bracket.round.php`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.php`}},name:`meta.catch.php`,patterns:[{captures:{1:{patterns:[{match:RegExp(`\\|`,`dgv`),name:`punctuation.separator.delimiter.php`},{begin:RegExp(`(?=[\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),end:RegExp(`([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(?![0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),endCaptures:{1:{name:`support.class.exception.php`}},patterns:[{include:`#namespace`}]}]},2:{name:`variable.other.php`},3:{name:`punctuation.definition.variable.php`}},match:RegExp(`([0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*\\|\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)*)\\p{space}*((\\$+)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?`,`dgiv`)}]},{match:RegExp(`\\b(catch|try|throw|exception|finally)\\b`,`dgv`),name:`keyword.control.exception.php`},{begin:RegExp(`\\b(function)\\p{space}*(?=&?\\p{space}*\\()`,`dgiv`),beginCaptures:{1:{name:`storage.type.function.php`}},end:RegExp(`(?=\\p{space}*\\{)`,`dgv`),name:`meta.function.closure.php`,patterns:[{include:`#comments`},{begin:RegExp(`(&)?\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.reference.php`},2:{name:`punctuation.definition.parameters.begin.bracket.round.php`}},contentName:`meta.function.parameters.php`,end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.php`}},patterns:[{include:`#function-parameters`}]},{begin:RegExp(`(use)\\p{space}*(\\()`,`dgiv`),beginCaptures:{1:{name:`keyword.other.function.use.php`},2:{name:`punctuation.definition.parameters.begin.bracket.round.php`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.php`}},name:`meta.function.closure.use.php`,patterns:[{match:RegExp(`,`,`dgv`),name:`punctuation.separator.delimiter.php`},{captures:{1:{name:`variable.other.php`},2:{name:`storage.modifier.reference.php`},3:{name:`punctuation.definition.variable.php`}},match:RegExp(`((?:(&)\\p{space}*)?(\\$+)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)\\p{space}*(?=[\\)\\,])`,`dgiv`)}]},{captures:{1:{name:`keyword.operator.return-value.php`},2:{patterns:[{include:`#php-types`}]}},match:RegExp(`(:)\\p{space}*((?:\\?\\p{space}*)?[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\))(?:\\p{space}*[\\&\\|]\\p{space}*(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\)))+)(?=\\p{space}*(?:\\{|\\/[\\*\\/]|#|(?=\\n?$)))`,`dgiv`)}]},{begin:RegExp(`\\b(fn)\\p{space}*(?=&?\\p{space}*\\()`,`dgiv`),beginCaptures:{1:{name:`storage.type.function.php`}},end:RegExp(`=>`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arrow.php`}},name:`meta.function.closure.php`,patterns:[{begin:RegExp(`(?:(&)\\p{space}*)?(\\()`,`dgv`),beginCaptures:{1:{name:`storage.modifier.reference.php`},2:{name:`punctuation.definition.parameters.begin.bracket.round.php`}},contentName:`meta.function.parameters.php`,end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.parameters.end.bracket.round.php`}},patterns:[{include:`#function-parameters`}]},{captures:{1:{name:`keyword.operator.return-value.php`},2:{patterns:[{include:`#php-types`}]}},match:RegExp(`(:)\\p{space}*((?:\\?\\p{space}*)?[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\))(?:\\p{space}*[\\&\\|]\\p{space}*(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\)))+)(?=\\p{space}*(?:=>|\\/[\\*\\/]|#|(?=\\n?$)))`,`dgiv`)}]},{begin:RegExp(`((?:(?:final|abstract|public|private|protected)\\p{space}+)*)(function)\\p{space}+(__construct)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{patterns:[{match:RegExp(`final|abstract|public|private|protected`,`dgv`),name:`storage.modifier.php`}]},2:{name:`storage.type.function.php`},3:{name:`support.function.constructor.php`},4:{name:`punctuation.definition.parameters.begin.bracket.round.php`}},contentName:`meta.function.parameters.php`,end:RegExp(`(\\))\\p{space}*(:\\p{space}*(?:\\?\\p{space}*)?(?!\\p{space})[\\&\\(\\)0-9\\\\_a-z\\|\\x7F-\\u{10FFFF}\\p{space}]+(?)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.array.end.bracket.round.php`}},name:`meta.array.php`,patterns:[{include:`$self`}]},{captures:{1:{name:`punctuation.definition.storage-type.begin.bracket.round.php`},2:{name:`storage.type.php`},3:{name:`punctuation.definition.storage-type.end.bracket.round.php`}},match:RegExp(`(\\()\\p{space}*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\p{space}*(\\))`,`dgiv`)},{match:RegExp(`\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\b`,`dgiv`),name:`storage.type.php`},{match:RegExp(`\\bconst\\b`,`dgiv`),name:`storage.type.const.php`},{match:RegExp(`\\b(global|abstract|final|private|protected|public|static)\\b`,`dgiv`),name:`storage.modifier.php`},{include:`#object`},{match:RegExp(`;`,`dgv`),name:`punctuation.terminator.expression.php`},{match:RegExp(`:`,`dgv`),name:`punctuation.terminator.statement.php`},{include:`#heredoc`},{include:`#numbers`},{match:RegExp(`\\bclone\\b`,`dgiv`),name:`keyword.other.clone.php`},{match:RegExp(`\\.\\.\\.`,`dgv`),name:`keyword.operator.spread.php`},{match:RegExp(`\\.=?`,`dgv`),name:`keyword.operator.string.php`},{match:RegExp(`=>`,`dgv`),name:`keyword.operator.key.php`},{captures:{1:{name:`keyword.operator.assignment.php`},2:{name:`storage.modifier.reference.php`},3:{name:`storage.modifier.reference.php`}},match:RegExp(`(=)(&)|(&)(?=[\\$_a-z])`,`dgiv`)},{match:RegExp(`@`,`dgv`),name:`keyword.operator.error-control.php`},{match:RegExp(`===?|!==?|<>`,`dgv`),name:`keyword.operator.comparison.php`},{match:RegExp(`(?:|[\\-\\+]|\\*\\*?|[\\%\\&\\/\\^\\|]|<<|>>|\\?\\?)=`,`dgv`),name:`keyword.operator.assignment.php`},{match:RegExp(`<=>?|>=|[\\<\\>]`,`dgv`),name:`keyword.operator.comparison.php`},{match:RegExp(`--|\\+\\+`,`dgv`),name:`keyword.operator.increment-decrement.php`},{match:RegExp(`[\\-\\+]|\\*\\*?|[\\%\\/]`,`dgv`),name:`keyword.operator.arithmetic.php`},{match:RegExp(`(!|&&|\\|\\|)|\\b(and|or|xor|as)\\b`,`dgiv`),name:`keyword.operator.logical.php`},{include:`#function-call`},{match:RegExp(`<<|>>|[\\&\\^\\|\\~]`,`dgv`),name:`keyword.operator.bitwise.php`},{begin:RegExp(`\\b(instanceof)\\p{space}+(?=[\\$\\\\_a-z])`,`dgiv`),beginCaptures:{1:{name:`keyword.operator.type.php`}},end:RegExp(`(?=[^\\$0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),patterns:[{include:`#class-name`},{include:`#variable-name`}]},{include:`#instantiation`},{captures:{1:{name:`keyword.control.goto.php`},2:{name:`support.other.php`}},match:RegExp(`(goto)\\p{space}+([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`)},{captures:{1:{name:`entity.name.goto-label.php`}},match:RegExp(`^\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*(?)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.end.bracket.curly.php`}},patterns:[{include:`$self`}]},{begin:RegExp(`\\[`,`dgv`),beginCaptures:{0:{name:`punctuation.section.array.begin.php`}},end:RegExp(`\\]|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.section.array.end.php`}},patterns:[{include:`$self`}]},{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.begin.bracket.round.php`}},end:RegExp(`\\)|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.end.bracket.round.php`}},patterns:[{include:`$self`}]},{include:`#constants`},{match:RegExp(`,`,`dgv`),name:`punctuation.separator.delimiter.php`}],repository:{attribute:{begin:RegExp(`#\\[`,`dgv`),end:RegExp(`\\]`,`dgv`),name:`meta.attribute.php`,patterns:[{match:RegExp(`,`,`dgv`),name:`punctuation.separator.delimiter.php`},{begin:RegExp(`([0-9A-Z\\\\_a-z\\x7F-\\u{10FFFF}]+)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{patterns:[{include:`#attribute-name`}]},2:{name:`punctuation.definition.arguments.begin.bracket.round.php`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},patterns:[{include:`#named-arguments`},{include:`$self`}]},{include:`#attribute-name`}]},"attribute-name":{patterns:[{begin:RegExp(`(?=\\\\?[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*\\\\)`,`dgiv`),end:RegExp(`([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),endCaptures:{1:{name:`support.attribute.php`}},patterns:[{include:`#namespace`}]},{captures:{1:{name:`punctuation.separator.inheritance.php`}},match:RegExp(`(\\\\)?\\b(Attribute|SensitiveParameter|AllowDynamicProperties|ReturnTypeWillChange|Override|Deprecated)\\b`,`dgiv`),name:`support.attribute.builtin.php`},{begin:RegExp(`(?=[\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),end:RegExp(`([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),endCaptures:{1:{name:`support.attribute.php`}},patterns:[{include:`#namespace`}]}]},"class-builtin":{patterns:[{captures:{1:{name:`punctuation.separator.inheritance.php`}},match:new $(`(\\\\)?\\b(Attribute|(A(?:PC|ppend))Iterator|Array(Access|Iterator|Object)|Bad(Function|Method)CallException|(Ca(?:ching|llbackFilter))Iterator|Collator|Collectable|Cond|Countable|CURLFile|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference|Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)|(Error)?Exception|EmptyIterator|finfo|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|FANNConnection|(Fil(?:ter|esystem))Iterator|Gender\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)|Http(((?:In|De)flate)?Stream|Message|Request(Pool)?|Response|QueryString)|HRTime\\\\(PerformanceCounter|StopWatch)|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)|Imagick(Draw|Pixel(Iterator)?)?|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?|JsonSerializable|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))|Lapack|(L(?:ength|ocale|ogic))Exception|LimitIterator|Lua(Closure)?|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch|Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp|UpdateBatch|Write(Batch|ConcernException))?|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex|mysqli(_(driver|stmt|warning|result))?|MysqlndUh(Connection|PreparedStatement)|NoRewindIterator|Normalizer|NumberFormatter|OCI-(Collection|Lob)|OuterIterator|(O(?:utOf(Bounds|Range)|verflow))Exception|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool|QuickHash(Int(S(?:et|tringHash))|StringIntHash)|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator|Reflection(Attribute|Class(Constant)?|Constant|Enum((?:Unit|Backed)Case)?|Fiber|Function(Abstract)?|Generator|(Named|Union|Intersection)?Type|Method|Object|Parameter|Property|Reference|(Zend)?Extension)?|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)|SAM(Connection|Message)|SCA(_((?:Soap|Local)Proxy))?|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)|Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP|Soap(Client|Fault|Header|Param|Server|Var)|SphinxClient|Spoofchecker|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(M(?:ax|in))?Heap|Observer|ObjectStorage|(Priority)?Queue|Stack|Subject|Type|TempFileObject)|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable|UConverter|(Un(?:derflow|expectedValue))Exception|V8Js(Exception)?|Varnish(Admin|Log|Stat)|Worker|Weak(Map|Ref)|XML(Diff\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)|Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract|Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)|Response_Abstract|Router|Session|View_(Simple|Interface))|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\b`,`dgiv`,{lazyCompile:!0}),name:`support.class.builtin.php`}]},"class-constant":{patterns:[{captures:{1:{name:`storage.type.const.php`},2:{patterns:[{include:`#php-types`}]},3:{name:`constant.other.php`}},match:RegExp(`\\b(const)\\p{space}+(?:((?:\\?\\p{space}*)?[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\))(?:\\p{space}*[\\&\\|]\\p{space}*(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\)))+)\\p{space}+)?([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`)}]},"class-extends":{patterns:[{begin:RegExp(`(extends)\\p{space}+`,`dgiv`),beginCaptures:{1:{name:`storage.modifier.extends.php`}},end:RegExp(`(?=[^0-9A-Z\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),patterns:[{include:`#comments`},{include:`#inheritance-single`}]}]},"class-implements":{patterns:[{begin:RegExp(`(implements)\\p{space}+`,`dgiv`),beginCaptures:{1:{name:`storage.modifier.implements.php`}},end:RegExp(`(?=\\{)`,`dgv`),patterns:[{include:`#comments`},{match:RegExp(`,`,`dgv`),name:`punctuation.separator.classes.php`},{include:`#inheritance-single`}]}]},"class-name":{patterns:[{begin:RegExp(`(?=\\\\?[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*\\\\)`,`dgiv`),end:RegExp(`([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),endCaptures:{1:{name:`support.class.php`}},patterns:[{include:`#namespace`}]},{include:`#class-builtin`},{begin:RegExp(`(?=[\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),end:RegExp(`([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?(?![0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),endCaptures:{1:{name:`support.class.php`}},patterns:[{include:`#namespace`}]}]},comments:{patterns:[{begin:RegExp(`\\/\\*\\*(?=\\p{space})`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.php`}},end:RegExp(`\\*\\/`,`dgv`),endCaptures:{0:{name:`punctuation.definition.comment.php`}},name:`comment.block.documentation.phpdoc.php`,patterns:[{include:`#php_doc`}]},{begin:RegExp(`\\/\\*`,`dgv`),captures:{0:{name:`punctuation.definition.comment.php`}},end:RegExp(`\\*\\/`,`dgv`),name:`comment.block.php`},{begin:RegExp(`(^\\p{space}+)?(?=\\/\\/)`,`dgv`),beginCaptures:{1:{name:`punctuation.whitespace.comment.leading.php`}},end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),patterns:[{begin:RegExp(`\\/\\/`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.php`}},end:RegExp(`\\n|(?=\\?>)`,`dgv`),name:`comment.line.double-slash.php`}]},{begin:RegExp(`(^\\p{space}+)?(?=#)(?!#\\[)`,`dgv`),beginCaptures:{1:{name:`punctuation.whitespace.comment.leading.php`}},end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),patterns:[{begin:RegExp(`#`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.comment.php`}},end:RegExp(`\\n|(?=\\?>)`,`dgv`),name:`comment.line.number-sign.php`}]}]},constants:{patterns:[{match:RegExp(`\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b`,`dgiv`),name:`constant.language.php`},{captures:{1:{name:`punctuation.separator.inheritance.php`}},match:RegExp(`(\\\\)?\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\b`,`dgv`),name:`support.constant.core.php`},{captures:{1:{name:`punctuation.separator.inheritance.php`}},match:RegExp(`(\\\\)?\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\b`,`dgv`),name:`support.constant.std.php`},{captures:{1:{name:`punctuation.separator.inheritance.php`}},match:new $(`(\\\\)?\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\b`,`dgv`,{lazyCompile:!0}),name:`support.constant.ext.php`},{captures:{1:{name:`punctuation.separator.inheritance.php`}},match:RegExp(`(\\\\)?\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\b`,`dgv`),name:`support.constant.parser-token.php`},{match:RegExp(`[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*`,`dgiv`),name:`constant.other.php`}]},"function-call":{patterns:[{begin:RegExp(`(\\\\?(?)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},name:`meta.function-call.php`,patterns:[{include:`#named-arguments`},{include:`$self`}]},{begin:RegExp(`(\\\\)?(?)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},name:`meta.function-call.php`,patterns:[{include:`#named-arguments`},{include:`$self`}]},{match:RegExp(`\\b(print|echo)\\b`,`dgiv`),name:`support.function.construct.output.php`}]},"function-parameters":{patterns:[{include:`#attribute`},{include:`#comments`},{match:RegExp(`,`,`dgv`),name:`punctuation.separator.delimiter.php`},{captures:{1:{patterns:[{include:`#php-types`}]},2:{name:`variable.other.php`},3:{name:`storage.modifier.reference.php`},4:{name:`keyword.operator.variadic.php`},5:{name:`punctuation.definition.variable.php`}},match:RegExp(`(?:((?:\\?\\p{space}*)?[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\))(?:\\p{space}*[\\&\\|]\\p{space}*(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\)))+)\\p{space}+)?((?:(&)\\p{space}*)?(\\.\\.\\.)(\\$)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(?=\\p{space}*(?:[\\)\\,]|\\/[\\*\\/]|#|(?=\\n?$)))`,`dgiv`),name:`meta.function.parameter.variadic.php`},{begin:RegExp(`((?:\\?\\p{space}*)?[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\))(?:\\p{space}*[\\&\\|]\\p{space}*(?:[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+|\\(\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(?:\\p{space}*&\\p{space}*[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)+\\p{space}*\\)))+)\\p{space}+((?:(&)\\p{space}*)?(\\$)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)`,`dgiv`),beginCaptures:{1:{patterns:[{include:`#php-types`}]},2:{name:`variable.other.php`},3:{name:`storage.modifier.reference.php`},4:{name:`punctuation.definition.variable.php`}},end:RegExp(`(?=\\p{space}*(?:[\\)\\,]|\\/[\\*\\/]|#))`,`dgv`),name:`meta.function.parameter.typehinted.php`,patterns:[{begin:RegExp(`=`,`dgv`),beginCaptures:{0:{name:`keyword.operator.assignment.php`}},end:RegExp(`(?=\\p{space}*(?:[\\)\\,]|\\/[\\*\\/]|#))`,`dgv`),patterns:[{include:`#parameter-default-types`}]}]},{captures:{1:{name:`variable.other.php`},2:{name:`storage.modifier.reference.php`},3:{name:`punctuation.definition.variable.php`}},match:RegExp(`((?:(&)\\p{space}*)?(\\$)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(?=\\p{space}*(?:[\\)\\,]|\\/[\\*\\/]|#|(?=\\n?$)))`,`dgiv`),name:`meta.function.parameter.no-default.php`},{begin:RegExp(`((?:(&)\\p{space}*)?(\\$)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)\\p{space}*(=)\\p{space}*`,`dgiv`),beginCaptures:{1:{name:`variable.other.php`},2:{name:`storage.modifier.reference.php`},3:{name:`punctuation.definition.variable.php`},4:{name:`keyword.operator.assignment.php`}},end:RegExp(`(?=\\p{space}*(?:[\\)\\,]|\\/[\\*\\/]|#))`,`dgv`),name:`meta.function.parameter.default.php`,patterns:[{include:`#parameter-default-types`}]}]},heredoc:{patterns:[{begin:RegExp(`(?=<<<\\p{space}*("?)([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(\\1)\\p{space}*(?=\\n?$))`,`dgiv`),end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),name:`string.unquoted.heredoc.php`,patterns:[{include:`#heredoc_interior`}]},{begin:RegExp(`(?=<<<\\p{space}*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\p{space}*(?=\\n?$))`,`dgv`),end:new $(`(?!^)`,`dgv`,{strategy:`clip_search`}),name:`string.unquoted.nowdoc.php`,patterns:[{include:`#nowdoc_interior`}]}]},heredoc_interior:{patterns:[{begin:RegExp(`(<<<)\\p{space}*("?)(HTML)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`text.html`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.html`,patterns:[{include:`#interpolation`},{include:`text.html.basic`}]},{begin:RegExp(`(<<<)\\p{space}*("?)(XML)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`text.xml`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.xml`,patterns:[{include:`#interpolation`},{include:`text.xml`}]},{begin:RegExp(`(<<<)\\p{space}*("?)([DS]QL)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.sql`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.sql`,patterns:[{include:`#interpolation`},{include:`source.sql`}]},{begin:RegExp(`(<<<)\\p{space}*("?)(J(?:AVASCRIPT|S))(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.js`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.js`,patterns:[{include:`#interpolation`},{include:`source.js`}]},{begin:RegExp(`(<<<)\\p{space}*("?)(JSON)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.json`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.json`,patterns:[{include:`#interpolation`},{include:`source.json`}]},{begin:RegExp(`(<<<)\\p{space}*("?)(CSS)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.css`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.css`,patterns:[{include:`#interpolation`},{include:`source.css`}]},{begin:RegExp(`(<<<)\\p{space}*("?)(REGEXP?)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`string.regexp.heredoc.php`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},patterns:[{include:`#interpolation`},{match:RegExp(`(\\\\){1,2}[\\]\\$\\.\\[\\^\\{\\}]`,`dgv`),name:`constant.character.escape.regex.php`},{captures:{1:{name:`punctuation.definition.arbitrary-repitition.php`},3:{name:`punctuation.definition.arbitrary-repitition.php`}},match:RegExp(`(\\{)\\p{Nd}+(,\\p{Nd}+)?(\\})`,`dgv`),name:`string.regexp.arbitrary-repitition.php`},{begin:RegExp(`\\[(?:\\^?\\])?`,`dgv`),captures:{0:{name:`punctuation.definition.character-class.php`}},end:RegExp(`\\]`,`dgv`),name:`string.regexp.character-class.php`,patterns:[{match:RegExp(`\\\\[\\]'\\[\\\\]`,`dgv`),name:`constant.character.escape.php`}]},{match:RegExp(`[\\$\\*\\+\\^]`,`dgv`),name:`keyword.operator.regexp.php`},{begin:RegExp(`(?<=^|\\p{space})(#)\\p{space}(?=[\\-\\t \\!\\,\\.0-9\\?_a-z\\x7F-\\u{10FFFF}[^\\x00-\\x7F]]*(?=\\n?$))`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.comment.php`}},end:RegExp(`(?=\\n?$)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.comment.php`}},name:`comment.line.number-sign.php`}]},{begin:RegExp(`(<<<)\\p{space}*("?)(BLADE)(\\2)(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`text.html.php.blade`,end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.heredoc.php`}},name:`meta.embedded.php.blade`,patterns:[{include:`#interpolation`}]},{begin:RegExp(`(<<<)\\p{space}*("?)([_a-z\\x7F-\\u{10FFFF}]+[0-9_a-z\\x7F-\\u{10FFFF}]*)(\\2)(\\p{space}*)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.string.php`},3:{name:`keyword.operator.heredoc.php`},5:{name:`invalid.illegal.trailing-whitespace.php`}},end:RegExp(`^\\p{space}*(\\3)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()()`,`dgv`),endCaptures:{1:{name:`keyword.operator.heredoc.php`}},patterns:[{include:`#interpolation`}]}]},"inheritance-single":{patterns:[{begin:RegExp(`(?=\\\\?[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*\\\\)`,`dgiv`),end:RegExp(`([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?(?=[^0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),endCaptures:{1:{name:`entity.other.inherited-class.php`}},patterns:[{include:`#namespace`}]},{include:`#class-builtin`},{include:`#namespace`},{match:RegExp(`[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*`,`dgiv`),name:`entity.other.inherited-class.php`}]},instantiation:{patterns:[{captures:{1:{name:`keyword.other.new.php`},2:{patterns:[{match:RegExp(`(parent|static|self)(?![0-9_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),name:`storage.type.php`},{include:`#class-name`},{include:`#variable-name`}]}},match:RegExp(`(new)\\p{space}+(?!class\\b)([\\$0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)(?![\\(0-9\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgiv`)},{begin:RegExp(`(new)\\p{space}+(?!class\\b)([\\$0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)\\p{space}*(\\()`,`dgiv`),beginCaptures:{1:{name:`keyword.other.new.php`},2:{patterns:[{match:RegExp(`(parent|static|self)(?![0-9_a-z\\x7F-\\u{10FFFF}])`,`dgiv`),name:`storage.type.php`},{include:`#class-name`},{include:`#variable-name`}]},3:{name:`punctuation.definition.arguments.begin.bracket.round.php`}},contentName:`meta.function-call.php`,end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},patterns:[{include:`#named-arguments`},{include:`$self`}]}]},"interface-extends":{patterns:[{begin:RegExp(`(extends)\\p{space}+`,`dgiv`),beginCaptures:{1:{name:`storage.modifier.extends.php`}},end:RegExp(`(?=\\{)`,`dgv`),patterns:[{include:`#comments`},{match:RegExp(`,`,`dgv`),name:`punctuation.separator.classes.php`},{include:`#inheritance-single`}]}]},interpolation:{patterns:[{match:RegExp(`\\\\[0-7]{1,3}`,`dgv`),name:`constant.character.escape.octal.php`},{match:RegExp(`\\\\x\\p{AHex}{1,2}`,`dgv`),name:`constant.character.escape.hex.php`},{match:RegExp(`\\\\u\\{\\p{AHex}+\\}`,`dgv`),name:`constant.character.escape.unicode.php`},{match:RegExp(`\\\\[\\$\\\\efnrtv]`,`dgv`),name:`constant.character.escape.php`},{begin:RegExp(`\\{(?=\\$[^\\n]*?\\})`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.variable.php`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.variable.php`}},patterns:[{include:`$self`}]},{include:`#variable-name`}]},interpolation_double_quoted:{patterns:[{match:RegExp(`\\\\"`,`dgv`),name:`constant.character.escape.php`},{include:`#interpolation`}]},"invoke-call":{captures:{1:{name:`variable.other.php`},2:{name:`punctuation.definition.variable.php`}},match:RegExp(`((\\$+)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(?=\\p{space}*\\()`,`dgiv`),name:`meta.function-call.invoke.php`},match_statement:{patterns:[{match:RegExp(`\\p{space}+(?=match\\b)`,`dgv`)},{begin:RegExp(`\\bmatch\\b`,`dgv`),beginCaptures:{0:{name:`keyword.control.match.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.section.match-block.end.bracket.curly.php`}},name:`meta.match-statement.php`,patterns:[{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.match-expression.begin.bracket.round.php`}},end:RegExp(`\\)|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.match-expression.end.bracket.round.php`}},patterns:[{include:`$self`}]},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.section.match-block.begin.bracket.curly.php`}},end:RegExp(`(?=\\}|\\?>)`,`dgv`),patterns:[{match:RegExp(`=>`,`dgv`),name:`keyword.definition.arrow.php`},{include:`$self`}]}]}]},"named-arguments":{captures:{1:{name:`entity.name.variable.parameter.php`},2:{name:`punctuation.separator.colon.php`}},match:RegExp(`(?<=^|[\\(\\,])\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)\\p{space}*(:)(?!:)`,`dgiv`)},namespace:{begin:RegExp(`(?:(namespace)|[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?(\\\\)`,`dgiv`),beginCaptures:{1:{name:`variable.language.namespace.php`},2:{name:`punctuation.separator.inheritance.php`}},end:RegExp(`(?![0-9_a-z\\x7F-\\u{10FFFF}]*\\\\)`,`dgiv`),name:`support.other.namespace.php`,patterns:[{match:RegExp(`\\\\`,`dgv`),name:`punctuation.separator.inheritance.php`}]},nowdoc_interior:{patterns:[{begin:RegExp(`(<<<)\\p{space}*'(HTML)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`text.html`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.html`,patterns:[{include:`text.html.basic`}]},{begin:RegExp(`(<<<)\\p{space}*'(XML)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`text.xml`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.xml`,patterns:[{include:`text.xml`}]},{begin:RegExp(`(<<<)\\p{space}*'([DS]QL)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.sql`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.sql`,patterns:[{include:`source.sql`}]},{begin:RegExp(`(<<<)\\p{space}*'(J(?:AVASCRIPT|S))'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.js`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.js`,patterns:[{include:`source.js`}]},{begin:RegExp(`(<<<)\\p{space}*'(JSON)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.json`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.json`,patterns:[{include:`source.json`}]},{begin:RegExp(`(<<<)\\p{space}*'(CSS)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`source.css`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.css`,patterns:[{include:`source.css`}]},{begin:RegExp(`(<<<)\\p{space}*'(REGEXP?)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`string.regexp.nowdoc.php`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},patterns:[{match:RegExp(`(\\\\){1,2}[\\]\\$\\.\\[\\^\\{\\}]`,`dgv`),name:`constant.character.escape.regex.php`},{captures:{1:{name:`punctuation.definition.arbitrary-repitition.php`},3:{name:`punctuation.definition.arbitrary-repitition.php`}},match:RegExp(`(\\{)\\p{Nd}+(,\\p{Nd}+)?(\\})`,`dgv`),name:`string.regexp.arbitrary-repitition.php`},{begin:RegExp(`\\[(?:\\^?\\])?`,`dgv`),captures:{0:{name:`punctuation.definition.character-class.php`}},end:RegExp(`\\]`,`dgv`),name:`string.regexp.character-class.php`,patterns:[{match:RegExp(`\\\\[\\]'\\[\\\\]`,`dgv`),name:`constant.character.escape.php`}]},{match:RegExp(`[\\$\\*\\+\\^]`,`dgv`),name:`keyword.operator.regexp.php`},{begin:RegExp(`(?<=^|\\p{space})(#)\\p{space}(?=[\\-\\t \\!\\,\\.0-9\\?_a-z\\x7F-\\u{10FFFF}[^\\x00-\\x7F]]*(?=\\n?$))`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.comment.php`}},end:RegExp(`(?=\\n?$)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.comment.php`}},name:`comment.line.number-sign.php`}]},{begin:RegExp(`(<<<)\\p{space}*'(BLADE)'(\\p{space}*)(?=\\n?$)`,`dgv`),beginCaptures:{0:{name:`punctuation.section.embedded.begin.php`},1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},contentName:`text.html.php.blade`,end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{0:{name:`punctuation.section.embedded.end.php`},1:{name:`keyword.operator.nowdoc.php`}},name:`meta.embedded.php.blade`},{begin:RegExp(`(<<<)\\p{space}*'([_a-z\\x7F-\\u{10FFFF}]+[0-9_a-z\\x7F-\\u{10FFFF}]*)'(\\p{space}*)`,`dgiv`),beginCaptures:{1:{name:`punctuation.definition.string.php`},2:{name:`keyword.operator.nowdoc.php`},3:{name:`invalid.illegal.trailing-whitespace.php`}},end:RegExp(`^\\p{space}*(\\2)(?![0-9A-Z_a-z\\x7F-\\u{10FFFF}])()`,`dgv`),endCaptures:{1:{name:`keyword.operator.nowdoc.php`}}}]},null_coalescing:{match:RegExp(`\\?\\?`,`dgv`),name:`keyword.operator.null-coalescing.php`},numbers:{patterns:[{match:RegExp(`0[Xx]\\p{AHex}+(?:_\\p{AHex}+)*`,`dgv`),name:`constant.numeric.hex.php`},{match:RegExp(`0[Bb][01]+(?:_[01]+)*`,`dgv`),name:`constant.numeric.binary.php`},{match:RegExp(`0[Oo][0-7]+(?:_[0-7]+)*`,`dgv`),name:`constant.numeric.octal.php`},{match:RegExp(`0(?:_?[0-7]+)+`,`dgv`),name:`constant.numeric.octal.php`},{captures:{1:{name:`punctuation.separator.decimal.period.php`},2:{name:`punctuation.separator.decimal.period.php`}},match:RegExp(`(?:[0-9]+(?:_[0-9]+)*)?(\\.)[0-9]+(?:_[0-9]+)*(?:[Ee][\\-\\+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*(\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[Ee][\\-\\+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*[Ee][\\-\\+]?[0-9]+(?:_[0-9]+)*`,`dgv`),name:`constant.numeric.decimal.php`},{match:RegExp(`0|[1-9](?:_?[0-9]+)*`,`dgv`),name:`constant.numeric.decimal.php`}]},object:{patterns:[{begin:RegExp(`(\\??->)\\p{space}*(\\$?\\{)`,`dgv`),beginCaptures:{1:{name:`keyword.operator.class.php`},2:{name:`punctuation.definition.variable.php`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.variable.php`}},patterns:[{include:`$self`}]},{begin:RegExp(`(\\??->)\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)\\p{space}*(\\()`,`dgiv`),beginCaptures:{1:{name:`keyword.operator.class.php`},2:{name:`entity.name.function.php`},3:{name:`punctuation.definition.arguments.begin.bracket.round.php`}},end:RegExp(`\\)|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},name:`meta.method-call.php`,patterns:[{include:`#named-arguments`},{include:`$self`}]},{captures:{1:{name:`keyword.operator.class.php`},2:{name:`variable.other.property.php`},3:{name:`punctuation.definition.variable.php`}},match:RegExp(`(\\??->)\\p{space}*((\\$+)?[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?`,`dgiv`)}]},"parameter-default-types":{patterns:[{include:`#strings`},{include:`#numbers`},{include:`#string-backtick`},{include:`#variables`},{match:RegExp(`=>`,`dgv`),name:`keyword.operator.key.php`},{match:RegExp(`=`,`dgv`),name:`keyword.operator.assignment.php`},{match:RegExp(`&(?=\\p{space}*\\$)`,`dgv`),name:`storage.modifier.reference.php`},{begin:RegExp(`(array)\\p{space}*(\\()`,`dgv`),beginCaptures:{1:{name:`support.function.construct.php`},2:{name:`punctuation.definition.array.begin.bracket.round.php`}},end:RegExp(`\\)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.array.end.bracket.round.php`}},name:`meta.array.php`,patterns:[{include:`#parameter-default-types`}]},{begin:RegExp(`\\[`,`dgv`),beginCaptures:{0:{name:`punctuation.section.array.begin.php`}},end:RegExp(`\\]|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.section.array.end.php`}},patterns:[{include:`$self`}]},{include:`#instantiation`},{begin:RegExp(`(?=[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+(::)\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?)`,`dgiv`),end:RegExp(`(::)\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)?`,`dgiv`),endCaptures:{1:{name:`keyword.operator.class.php`},2:{name:`constant.other.class.php`}},patterns:[{include:`#class-name`}]},{include:`#constants`}]},"php-types":{patterns:[{match:RegExp(`\\?`,`dgv`),name:`keyword.operator.nullable-type.php`},{match:RegExp(`[\\&\\|]`,`dgv`),name:`punctuation.separator.delimiter.php`},{match:RegExp(`\\b(null|int|float|bool|string|array|object|callable|iterable|true|false|mixed|void)\\b`,`dgiv`),name:`keyword.other.type.php`},{match:RegExp(`\\b(parent|self)\\b`,`dgiv`),name:`storage.type.php`},{match:RegExp(`\\(`,`dgv`),name:`punctuation.definition.type.begin.bracket.round.php`},{match:RegExp(`\\)`,`dgv`),name:`punctuation.definition.type.end.bracket.round.php`},{include:`#class-name`}]},php_doc:{patterns:[{match:RegExp(`^(?!\\p{space}*\\*)[^\\n]*?(?:(?=\\*\\/)|(?=\\n?$)\\n?)`,`dgv`),name:`invalid.illegal.missing-asterisk.phpdoc.php`},{captures:{1:{name:`keyword.other.phpdoc.php`},3:{name:`storage.modifier.php`},4:{name:`invalid.illegal.wrong-access-type.phpdoc.php`}},match:RegExp(`^\\p{space}*\\*\\p{space}*(@access)\\p{space}+((p(?:ublic|rivate|rotected))|([^\\n]+))\\p{space}*(?=\\n?$)`,`dgv`)},{captures:{1:{name:`keyword.other.phpdoc.php`},2:{name:`markup.underline.link.php`}},match:RegExp(`(@xlink)\\p{space}+([^\\n]+)\\p{space}*(?=\\n?$)`,`dgv`)},{begin:RegExp(`(@(?:global|param|property(-(read|write))?|return|throws|var))\\p{space}+(?=[\\(\\?A-Z\\\\_a-z\\x7F-\\u{10FFFF}])`,`dgv`),beginCaptures:{1:{name:`keyword.other.phpdoc.php`}},contentName:`meta.other.type.phpdoc.php`,end:RegExp(`(?=\\p{space}|\\*\\/)`,`dgv`),patterns:[{include:`#php_doc_types_array_multiple`},{include:`#php_doc_types_array_single`},{include:`#php_doc_types`},{match:RegExp(`[\\&\\|]`,`dgv`),name:`punctuation.separator.delimiter.php`}]},{match:RegExp(`@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\b`,`dgv`),name:`keyword.other.phpdoc.php`},{captures:{1:{name:`keyword.other.phpdoc.php`}},match:RegExp(`\\{(@(link|inherit[Dd]oc))[^\\n]+?\\}`,`dgv`),name:`meta.tag.inline.phpdoc.php`}]},php_doc_types:{captures:{0:{patterns:[{match:RegExp(`\\?`,`dgv`),name:`keyword.operator.nullable-type.php`},{match:RegExp(`\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self|static)\\b`,`dgv`),name:`keyword.other.type.php`},{include:`#class-name`},{match:RegExp(`[\\&\\|]`,`dgv`),name:`punctuation.separator.delimiter.php`}]}},match:RegExp(`\\??[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+([\\&\\|]\\??[0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)*`,`dgiv`)},php_doc_types_array_multiple:{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.type.begin.bracket.round.phpdoc.php`}},end:RegExp(`(\\))(\\[\\])?|(?=\\*\\/)`,`dgv`),endCaptures:{1:{name:`punctuation.definition.type.end.bracket.round.phpdoc.php`},2:{name:`keyword.other.array.phpdoc.php`}},patterns:[{include:`#php_doc_types_array_multiple`},{include:`#php_doc_types_array_single`},{include:`#php_doc_types`},{match:RegExp(`[\\&\\|]`,`dgv`),name:`punctuation.separator.delimiter.php`}]},php_doc_types_array_single:{captures:{1:{patterns:[{include:`#php_doc_types`}]},2:{name:`keyword.other.array.phpdoc.php`}},match:RegExp(`([0-9\\\\_a-z\\x7F-\\u{10FFFF}]+)(\\[\\])`,`dgiv`)},"regex-double-quoted":{begin:new $(`"/(?=(?:(?=((\\\\[^\\n]|[^"\\/])+))\\1)/[ADSUXeimsux]*")`,`dgv`,{hiddenCaptures:[1]}),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},end:RegExp(`(\\/)([ADSUXeimsux]*)(")`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.regexp.double-quoted.php`,patterns:[{match:RegExp(`(\\\\){1,2}[\\]\\$\\.\\[\\^\\{\\}]`,`dgv`),name:`constant.character.escape.regex.php`},{include:`#interpolation_double_quoted`},{captures:{1:{name:`punctuation.definition.arbitrary-repetition.php`},3:{name:`punctuation.definition.arbitrary-repetition.php`}},match:RegExp(`(\\{)\\p{Nd}+(,\\p{Nd}+)?(\\})`,`dgv`),name:`string.regexp.arbitrary-repetition.php`},{begin:RegExp(`\\[(?:\\^?\\])?`,`dgv`),captures:{0:{name:`punctuation.definition.character-class.php`}},end:RegExp(`\\]`,`dgv`),name:`string.regexp.character-class.php`,patterns:[{include:`#interpolation_double_quoted`}]},{match:RegExp(`[\\$\\*\\+\\^]`,`dgv`),name:`keyword.operator.regexp.php`}]},"regex-single-quoted":{begin:new $(`'/(?=(?:(?=((\\\\(?:\\\\(?:\\\\['\\\\]?|[^'])|[^\\n])|[^'\\/])+))\\1)/[ADSUXeimsux]*')`,`dgv`,{hiddenCaptures:[1]}),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},end:RegExp(`(\\/)([ADSUXeimsux]*)(')`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.regexp.single-quoted.php`,patterns:[{include:`#single_quote_regex_escape`},{captures:{1:{name:`punctuation.definition.arbitrary-repetition.php`},3:{name:`punctuation.definition.arbitrary-repetition.php`}},match:RegExp(`(\\{)\\p{Nd}+(,\\p{Nd}+)?(\\})`,`dgv`),name:`string.regexp.arbitrary-repetition.php`},{begin:RegExp(`\\[(?:\\^?\\])?`,`dgv`),captures:{0:{name:`punctuation.definition.character-class.php`}},end:RegExp(`\\]`,`dgv`),name:`string.regexp.character-class.php`},{match:RegExp(`[\\$\\*\\+\\^]`,`dgv`),name:`keyword.operator.regexp.php`}]},"scope-resolution":{patterns:[{captures:{1:{patterns:[{match:RegExp(`\\b(self|static|parent)\\b`,`dgv`),name:`storage.type.php`},{include:`#class-name`},{include:`#variable-name`}]}},match:RegExp(`([A-Z\\\\_a-z\\x7F-\\u{10FFFF}][0-9A-Z\\\\_a-z\\x7F-\\u{10FFFF}]*)(?=\\p{space}*::)`,`dgv`)},{begin:RegExp(`(::)\\p{space}*([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)\\p{space}*(\\()`,`dgiv`),beginCaptures:{1:{name:`keyword.operator.class.php`},2:{name:`entity.name.function.php`},3:{name:`punctuation.definition.arguments.begin.bracket.round.php`}},end:RegExp(`\\)|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.arguments.end.bracket.round.php`}},name:`meta.method-call.static.php`,patterns:[{include:`#named-arguments`},{include:`$self`}]},{captures:{1:{name:`keyword.operator.class.php`},2:{name:`keyword.other.class.php`}},match:RegExp(`(::)\\p{space}*(class)\\b`,`dgiv`)},{captures:{1:{name:`keyword.operator.class.php`},2:{name:`variable.other.class.php`},3:{name:`punctuation.definition.variable.php`},4:{name:`constant.other.class.php`}},match:RegExp(`(::)\\p{space}*(?:((\\$+)[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)|([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*))?`,`dgiv`)}]},single_quote_regex_escape:{match:RegExp(`\\\\(?:\\\\(?:\\\\['\\\\]?|[^'])|[^\\n])`,`dgv`),name:`constant.character.escape.php`},"sql-string-double-quoted":{begin:RegExp(`"\\p{space}*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\b)`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},contentName:`source.sql.embedded.php`,end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.quoted.double.sql.php`,patterns:[{captures:{1:{name:`punctuation.definition.comment.sql`}},match:RegExp(`(#)(\\\\"|[^"])*(?="|(?=\\n?$))`,`dgv`),name:`comment.line.number-sign.sql`},{captures:{1:{name:`punctuation.definition.comment.sql`}},match:RegExp(`(--)(\\\\"|[^"])*(?="|(?=\\n?$))`,`dgv`),name:`comment.line.double-dash.sql`},{match:RegExp(`\\\\["'\\\\\\\`]`,`dgv`),name:`constant.character.escape.php`},{match:RegExp(`'(?=((\\\\')|[^"'])*("|(?=\\n?$)))`,`dgv`),name:`string.quoted.single.unclosed.sql`},{match:RegExp('`(?=((\\\\`)|[^"\\`])*("|(?=\\n?$)))',`dgv`),name:`string.quoted.other.backtick.unclosed.sql`},{begin:RegExp(`'`,`dgv`),end:RegExp(`'`,`dgv`),name:`string.quoted.single.sql`,patterns:[{include:`#interpolation_double_quoted`}]},{begin:RegExp("`",`dgv`),end:RegExp("`",`dgv`),name:`string.quoted.other.backtick.sql`,patterns:[{include:`#interpolation_double_quoted`}]},{include:`#interpolation_double_quoted`},{include:`source.sql`}]},"sql-string-single-quoted":{begin:RegExp(`'\\p{space}*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\b)`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},contentName:`source.sql.embedded.php`,end:RegExp(`'`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.quoted.single.sql.php`,patterns:[{captures:{1:{name:`punctuation.definition.comment.sql`}},match:RegExp(`(#)(\\\\'|[^'])*(?='|(?=\\n?$))`,`dgv`),name:`comment.line.number-sign.sql`},{captures:{1:{name:`punctuation.definition.comment.sql`}},match:RegExp(`(--)(\\\\'|[^'])*(?='|(?=\\n?$))`,`dgv`),name:`comment.line.double-dash.sql`},{match:RegExp(`\\\\["'\\\\\\\`]`,`dgv`),name:`constant.character.escape.php`},{match:RegExp("`(?=((\\\\`)|[^'\\`])*('|(?=\\n?$)))",`dgv`),name:`string.quoted.other.backtick.unclosed.sql`},{match:RegExp(`"(?=((\\\\")|[^"'])*('|(?=\\n?$)))`,`dgv`),name:`string.quoted.double.unclosed.sql`},{include:`source.sql`}]},"string-backtick":{begin:RegExp("`",`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},end:RegExp("`",`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.interpolated.php`,patterns:[{match:RegExp("\\\\`",`dgv`),name:`constant.character.escape.php`},{include:`#interpolation`}]},"string-double-quoted":{begin:RegExp(`"`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},end:RegExp(`"`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.quoted.double.php`,patterns:[{include:`#interpolation_double_quoted`}]},"string-single-quoted":{begin:RegExp(`'`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.string.begin.php`}},end:RegExp(`'`,`dgv`),endCaptures:{0:{name:`punctuation.definition.string.end.php`}},name:`string.quoted.single.php`,patterns:[{match:RegExp(`\\\\['\\\\]`,`dgv`),name:`constant.character.escape.php`}]},strings:{patterns:[{include:`#regex-double-quoted`},{include:`#sql-string-double-quoted`},{include:`#string-double-quoted`},{include:`#regex-single-quoted`},{include:`#sql-string-single-quoted`},{include:`#string-single-quoted`}]},support:{patterns:[{match:RegExp(`\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\b`,`dgiv`),name:`support.function.apc.php`},{match:RegExp(`\\b(compact|count|current|end|extract|in_array|key(_exists)?|list|nat(case)?sort|next|pos|prev|range|reset|shuffle|sizeof|[ak]?r?sort|u[ak]?sort|array_(all|any|change_key_case|chunk|column|combine|count_values|fill(_keys)?|filter|find(_key)?|flip|is_list|key_(exists|first|last)|keys|map|multisort|pad|pop|product|push|rand|reduce|reverse|search|shift|slice|splice|sum|unique|unshift|values|u?(diff|intersect)(_u?(key|assoc))?|(walk|replace|merge)(_recursive)?))\\b`,`dgiv`),name:`support.function.array.php`},{match:RegExp(`\\b(connection_(aborted|status)|constant|defined?|die|eval|exit|get_browser|__halt_compiler|highlight_(file|string)|hrtime|ignore_user_abort|pack|php_strip_whitespace|show_source|u?sleep|sys_getloadavg|time_(nanosleep|sleep_until)|uniqid|unpack)\\b`,`dgiv`),name:`support.function.basic_functions.php`},{match:RegExp(`\\bbc(add|ceil|comp|(div|pow)(mod)?|floor|mod|mul|round|scale|sqrt|sub)\\b`,`dgiv`),name:`support.function.bcmath.php`},{match:RegExp(`\\bblenc_encrypt\\b`,`dgiv`),name:`support.function.blenc.php`},{match:RegExp(`\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b`,`dgiv`),name:`support.function.bz2.php`},{match:RegExp(`\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\b`,`dgiv`),name:`support.function.calendar.php`},{match:RegExp(`\\b(__autoload|class_alias|(class|interface|method|property|trait|enum)_exists|is_(a|subclass_of)|get_(class(_(vars|methods))?|(called|parent)_class|(mangled_)?object_vars|declared_(classes|interfaces|traits)))\\b`,`dgiv`),name:`support.function.classobj.php`},{match:RegExp(`\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\b`,`dgiv`),name:`support.function.com.php`},{match:RegExp(`\\b(isset|unset|eval|empty|list)\\b`,`dgiv`),name:`support.function.construct.php`},{match:RegExp(`\\b(print|echo)\\b`,`dgiv`),name:`support.function.construct.output.php`},{match:RegExp(`\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b`,`dgiv`),name:`support.function.ctype.php`},{match:RegExp(`\\bcurl_(close|copy_handle|errno|error|escape|exec|getinfo|init|pause|reset|setopt(_array)?|strerror|unescape|upkeep|version|multi_((add|remove)_handle|close|errno|exec|getcontent|info_read|init|select|setopt|strerror)|share_(close|errno|init(_persistent)?|setopt|strerror))\\b`,`dgiv`),name:`support.function.curl.php`},{match:RegExp(`\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_immutable)?(_from_format)?|timestamp_[gs]et|timezone_[gs]et|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_[gs]et|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\b`,`dgiv`),name:`support.function.datetime.php`},{match:RegExp(`\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b`,`dgiv`),name:`support.function.dba.php`},{match:RegExp(`\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b`,`dgiv`),name:`support.function.dbx.php`},{match:RegExp(`\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b`,`dgiv`),name:`support.function.dir.php`},{match:RegExp(`\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\b`,`dgiv`),name:`support.function.eio.php`},{match:RegExp(`\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\b`,`dgiv`),name:`support.function.enchant.php`},{match:RegExp(`\\b(split(i)?|sql_regcase|ereg(i)?(_replace)?)\\b`,`dgiv`),name:`support.function.ereg.php`},{match:RegExp(`\\b((restore|set)_(e(?:rror|xception))_handler|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|(clear|get)_last))\\b`,`dgiv`),name:`support.function.errorfunc.php`},{match:RegExp(`\\b(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)\\b`,`dgiv`),name:`support.function.exec.php`},{match:RegExp(`\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b`,`dgiv`),name:`support.function.exif.php`},{match:RegExp(`\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\b`,`dgiv`),name:`support.function.fann.php`},{match:RegExp(`\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename|f(data)?sync)\\b`,`dgiv`),name:`support.function.file.php`},{match:RegExp(`\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b`,`dgiv`),name:`support.function.fileinfo.php`},{match:RegExp(`\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b`,`dgiv`),name:`support.function.filter.php`},{match:RegExp(`\\b(f(?:astcgi_finish_request|pm_get_status))\\b`,`dgiv`),name:`support.function.fpm.php`},{match:RegExp(`\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b`,`dgiv`),name:`support.function.funchand.php`},{match:RegExp(`\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\b`,`dgiv`),name:`support.function.gettext.php`},{match:RegExp(`\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_(square|power)|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range|seed))?|gcd(ext)?|xor|mod|mul|binomial|kronecker|lcm)\\b`,`dgiv`),name:`support.function.gmp.php`},{match:RegExp(`\\bhash(_(algos|copy|equals|file|final|hkdf|hmac(_(file|algos)?)?|init|pbkdf2|update(_(file|stream))?))?\\b`,`dgiv`),name:`support.function.hash.php`},{match:RegExp(`\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\b`,`dgiv`),name:`support.function.http.php`},{match:RegExp(`\\b(iconv(_(str(pos|len|rpos)|substr|[gs]et_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b`,`dgiv`),name:`support.function.iconv.php`},{match:RegExp(`\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b`,`dgiv`),name:`support.function.iisfunc.php`},{match:RegExp(`\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(clip|style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(avif|bmp|string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|tga|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd2?|gammacorrect|grab(screen|window)|xbm|resolution|openpolygon|get(clip|interpolation)|avif|bmp))\\b`,`dgiv`),name:`support.function.image.php`},{match:RegExp(`\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_[gs]et_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\b`,`dgiv`),name:`support.function.info.php`},{match:RegExp(`\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\b`,`dgiv`),name:`support.function.interbase.php`},{match:RegExp(`\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len|_split)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\b`,`dgiv`),name:`support.function.intl.php`},{match:RegExp(`\\bjson_(decode|encode|last_error(_msg)?|validate)\\b`,`dgiv`),name:`support.function.json.php`},{match:RegExp(`\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\b`,`dgiv`),name:`support.function.ldap.php`},{match:RegExp(`\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b`,`dgiv`),name:`support.function.libxml.php`},{match:RegExp(`\\b(ezmlm_hash|mail)\\b`,`dgiv`),name:`support.function.mail.php`},{match:RegExp(`\\b(a?(cos|sin|tan)h?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|f(div|mod|pow)|lcg_value|log(1[0p])?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert|intdiv)\\b`,`dgiv`),name:`support.function.math.php`},{match:RegExp(`\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos|_pad|_split)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info|[lr]?trim|[lu]cfirst|ord|chr|scrub)\\b`,`dgiv`),name:`support.function.mbstring.php`},{match:RegExp(`\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\b`,`dgiv`),name:`support.function.mcrypt.php`},{match:RegExp(`\\bmemcache_debug\\b`,`dgiv`),name:`support.function.memcache.php`},{match:RegExp(`\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b`,`dgiv`),name:`support.function.mhash.php`},{match:RegExp(`\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\b`,`dgiv`),name:`support.function.mongo.php`},{match:RegExp(`\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\b`,`dgiv`),name:`support.function.mysql.php`},{match:RegExp(`\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_[gs]et|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\b`,`dgiv`),name:`support.function.mysqli.php`},{match:RegExp(`\\bmysqlnd_memcache_(set|get_config)\\b`,`dgiv`),name:`support.function.mysqlnd-memcache.php`},{match:RegExp(`\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b`,`dgiv`),name:`support.function.mysqlnd-ms.php`},{match:RegExp(`\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b`,`dgiv`),name:`support.function.mysqlnd-qc.php`},{match:RegExp(`\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b`,`dgiv`),name:`support.function.mysqlnd-uh.php`},{match:RegExp(`\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr)|http_(clear|get)_last_response_headers|net_get_interfaces|request_parse_body)\\b`,`dgiv`),name:`support.function.network.php`},{match:RegExp(`\\bnsapi_(virtual|response_headers|request_headers)\\b`,`dgiv`),name:`support.function.nsapi.php`},{match:RegExp(`\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\b`,`dgiv`),name:`support.function.oci8.php`},{match:RegExp(`\\bopcache_(compile_file|invalidate|is_script_cached|reset|get_(status|configuration))\\b`,`dgiv`),name:`support.function.opcache.php`},{match:RegExp(`\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_(iv|key)_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|(cms|pkcs7)_(sign|decrypt|encrypt|verify|read)|verify|free_key|random_pseudo_bytes|pkey_(derive|new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|curve_names|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read|verify))\\b`,`dgiv`),name:`support.function.openssl.php`},{match:RegExp(`\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\b`,`dgiv`),name:`support.function.output.php`},{match:RegExp(`\\bpassword_(algos|hash|needs_rehash|verify|get_info)\\b`,`dgiv`),name:`support.function.password.php`},{match:RegExp(`\\bpcntl_(alarm|async_signals|errno|exec|r?fork|get_last_error|[gs]et((?:cpuaffin|prior)ity)|signal(_(dispatch|get_handler))?|sig(procmask|timedwait|waitinfo)|strerror|unshare|wait(p?id)?|wexitstatus|wif((?:exit|signal|stopp)ed)|w(stop|term)sig)\\b`,`dgiv`),name:`support.function.pcntl.php`},{match:RegExp(`\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\b`,`dgiv`),name:`support.function.pgsql.php`},{match:RegExp(`\\b(virtual|getallheaders|apache_([gs]etenv|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b`,`dgiv`),name:`support.function.php_apache.php`},{match:RegExp(`\\bdom_import_simplexml\\b`,`dgiv`),name:`support.function.php_dom.php`},{match:RegExp(`\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\b`,`dgiv`),name:`support.function.php_ftp.php`},{match:RegExp(`\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\b`,`dgiv`),name:`support.function.php_imap.php`},{match:RegExp(`\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\b`,`dgiv`),name:`support.function.php_mssql.php`},{match:RegExp(`\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\b`,`dgiv`),name:`support.function.php_odbc.php`},{match:RegExp(`\\bpreg_(split|quote|filter|last_error(_msg)?|replace(_callback(_array)?)?|grep|match(_all)?)\\b`,`dgiv`),name:`support.function.php_pcre.php`},{match:RegExp(`\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b`,`dgiv`),name:`support.function.php_spl.php`},{match:RegExp(`\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b`,`dgiv`),name:`support.function.php_zip.php`},{match:RegExp(`\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|e?access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo|(sys|f?path)conf|setrlimit)\\b`,`dgiv`),name:`support.function.posix.php`},{match:RegExp(`\\bset(thread|proc)title\\b`,`dgiv`),name:`support.function.proctitle.php`},{match:RegExp(`\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\b`,`dgiv`),name:`support.function.pspell.php`},{match:RegExp(`\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b`,`dgiv`),name:`support.function.readline.php`},{match:RegExp(`\\brecode(_(string|file))?\\b`,`dgiv`),name:`support.function.recode.php`},{match:RegExp(`\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b`,`dgiv`),name:`support.function.rrd.php`},{match:RegExp(`\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\b`,`dgiv`),name:`support.function.sem.php`},{match:RegExp(`\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|((?:regener|cre)ate)_id|get_cookie_params|module_name|gc)\\b`,`dgiv`),name:`support.function.session.php`},{match:RegExp(`\\bshmop_(size|close|open|delete|write|read)\\b`,`dgiv`),name:`support.function.shmop.php`},{match:RegExp(`\\bsimplexml_(import_dom|load_(string|file))\\b`,`dgiv`),name:`support.function.simplexml.php`},{match:RegExp(`\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\b`,`dgiv`),name:`support.function.snmp.php`},{match:RegExp(`\\b(is_soap_fault|use_soap_error_handler)\\b`,`dgiv`),name:`support.function.soap.php`},{match:RegExp(`\\bsocket_(accept|addrinfo_(bind|connect|explain|lookup)|atmark|bind|(clear|last)_error|close|cmsg_space|connect|create(_(listen|pair))?|(ex|im)port_stream|[gs]et_option|[gs]etopt|get(peer|sock)name|listen|read|recv(from|msg)?|select|send(msg|to)?|set_(non)?block|shutdown|strerror|write|wsaprotocol_info_(export|import|release))\\b`,`dgiv`),name:`support.function.sockets.php`},{match:RegExp(`\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\b`,`dgiv`),name:`support.function.sqlite.php`},{match:RegExp(`\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\b`,`dgiv`),name:`support.function.sqlsrv.php`},{match:RegExp(`\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\b`,`dgiv`),name:`support.function.stats.php`},{match:RegExp(`\\bstream_(bucket_(new|prepend|append|make_writeable)|context_(create|[gs]et_(options?|default|params))|copy_to_stream|filter_((ap|pre)pend|register|remove)|get_(contents|filters|line|meta_data|transports|wrappers)|is(atty|_local)|notification_callback|register_wrapper|resolve_include_path|select|set_(blocking|chunk_size|(read|write)_buffer|timeout)|socket_(accept|client|enable_crypto|get_name|pair|recvfrom|sendto|server|shutdown)|supports_lock|wrapper_((un)?register|restore))\\b`,`dgiv`),name:`support.function.streamsfuncs.php`},{match:RegExp(`\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|i?replace|pad|repeat|rot13|shuffle|split|word_count|contains|(starts|ends)_with|(in|de)crement)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\b`,`dgiv`),name:`support.function.string.php`},{match:RegExp(`\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\b`,`dgiv`),name:`support.function.sybase.php`},{match:RegExp(`\\b(taint|is_tainted|untaint)\\b`,`dgiv`),name:`support.function.taint.php`},{match:RegExp(`\\b(tidy_([gs]etopt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\b`,`dgiv`),name:`support.function.tidy.php`},{match:RegExp(`\\btoken_(name|get_all)\\b`,`dgiv`),name:`support.function.tokenizer.php`},{match:RegExp(`\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\b`,`dgiv`),name:`support.function.trader.php`},{match:RegExp(`\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b`,`dgiv`),name:`support.function.uopz.php`},{match:RegExp(`\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\b`,`dgiv`),name:`support.function.url.php`},{match:RegExp(`\\b((bool|double|float|int|str)val|debug_zval_dump|empty|get_(debug_type|defined_vars|resource_(id|type))|[gs]ettype|is_(array|bool|callable|countable|double|float|int(eger)?|iterable|long|null|numeric|object|real|resource|scalar|string)|isset|print_r|(un)?serialize|unset|var_(dump|export))\\b`,`dgiv`),name:`support.function.var.php`},{match:RegExp(`\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\b`,`dgiv`),name:`support.function.wddx.php`},{match:RegExp(`\\bxhprof_(sample_)?((?:dis|en)able)\\b`,`dgiv`),name:`support.function.xhprof.php`},{match:RegExp(`\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_([gs]et_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\b`,`dgiv`),name:`support.function.xml.php`},{match:RegExp(`\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|[gs]et_type)\\b`,`dgiv`),name:`support.function.xmlrpc.php`},{match:RegExp(`\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\b`,`dgiv`),name:`support.function.xmlwriter.php`},{match:RegExp(`\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?)|deflate_(add|init)|inflate_(add|get_(read_len|status)|init))\\b`,`dgiv`),name:`support.function.zlib.php`}]},switch_statement:{patterns:[{match:RegExp(`\\p{space}+(?=switch\\b)`,`dgv`)},{begin:RegExp(`\\bswitch\\b(?!\\p{space}*\\([^\\n]*\\)\\p{space}*:)`,`dgv`),beginCaptures:{0:{name:`keyword.control.switch.php`}},end:RegExp(`\\}|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.section.switch-block.end.bracket.curly.php`}},name:`meta.switch-statement.php`,patterns:[{begin:RegExp(`\\(`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.switch-expression.begin.bracket.round.php`}},end:RegExp(`\\)|(?=\\?>)`,`dgv`),endCaptures:{0:{name:`punctuation.definition.switch-expression.end.bracket.round.php`}},patterns:[{include:`$self`}]},{begin:RegExp(`\\{`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.section.switch-block.begin.bracket.curly.php`}},end:RegExp(`(?=\\}|\\?>)`,`dgv`),patterns:[{include:`$self`}]}]}]},ternary_expression:{begin:RegExp(`\\?`,`dgv`),beginCaptures:{0:{name:`keyword.operator.ternary.php`}},end:RegExp(`(?[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*))\\p{space}*(?:(\\??->)\\p{space}*(([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*))|(\\[)(?:(\\p{Nd}+)|((\\$)([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*))|([_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*))(\\]))?`,`dgiv`,{hiddenCaptures:[6,11],transfers:[[3,[6,11]]]})},{captures:{1:{name:`variable.other.php`},2:{name:`punctuation.definition.variable.php`},4:{name:`punctuation.definition.variable.php`}},match:RegExp(`((\\$\\{)(?[_a-z\\x7F-\\u{10FFFF}][0-9_a-z\\x7F-\\u{10FFFF}]*)(\\}))`,`dgiv`)}]},variables:{patterns:[{include:`#var_language`},{include:`#var_global`},{include:`#var_global_safer`},{include:`#var_basic`},{begin:RegExp(`\\$\\{(?=[^\\n]*?\\})`,`dgv`),beginCaptures:{0:{name:`punctuation.definition.variable.php`}},end:RegExp(`\\}`,`dgv`),endCaptures:{0:{name:`punctuation.definition.variable.php`}},patterns:[{include:`$self`}]}]}},scopeName:`source.php`,embeddedLangs:[`html`,`xml`,`sql`,`javascript`,`json`,`css`],aliases:void 0}),Ej=[...cj,...mj,...vj,...nj,...Sj,...aj,Tj]}));const Oj=await wA({themes:[{name:`tempest`,type:`dark`,colors:{"editor.background":`var(--code-background)`,"editor.foreground":`var(--code-foreground)`,"editorLineNumber.foreground":`var(--code-gutter)`,"editorGutter.background":`var(--code-background)`,"editor.selectionBackground":`var(--code-highlight)`,"editor.lineHighlightBackground":`var(--code-highlight)`},tokenColors:[{scope:[`comment`,`punctuation.definition.comment`,`comment.block`,`comment.line`],settings:{foreground:`var(--code-comment)`,fontStyle:`italic`}},{scope:[`keyword`,`storage.type`,`storage.modifier`,`keyword.control`,`keyword.operator`,`keyword.other`],settings:{foreground:`var(--code-keyword)`}},{scope:[`variable.parameter`,`variable.other`,`variable.language`,`entity.name.variable`],settings:{foreground:`var(--code-variable)`}},{scope:[`entity.name.type`,`entity.name.class`,`support.type`,`support.class`],settings:{foreground:`var(--code-type)`}},{scope:[`entity.name.function`,`support.function`,`meta.function-call`],settings:{foreground:`var(--code-generic)`}},{scope:[`string`,`string.quoted`,`string.template`,`constant.character`,`constant.numeric`,`constant.language`,`constant.other`],settings:{foreground:`var(--code-value)`}},{scope:[`entity.other.attribute-name`,`support.other.variable`,`variable.other.property`],settings:{foreground:`var(--code-property)`}},{scope:[`punctuation`,`meta.brace`,`punctuation.definition.string`,`punctuation.definition.variable`,`punctuation.definition.parameters`,`punctuation.definition.array`],settings:{foreground:`var(--code-foreground)`}},{scope:[`markup.bold`],settings:{fontStyle:`bold`}},{scope:[`markup.italic`],settings:{fontStyle:`italic`}},{scope:[`markup.inserted`],settings:{foreground:`var(--code-gutter-addition)`}},{scope:[`markup.deleted`],settings:{foreground:`var(--code-gutter-deletion)`}}]}],langs:[ej(()=>Promise.resolve().then(()=>(Dj(),wj)),void 0,import.meta.url),ej(()=>Promise.resolve().then(()=>(Cj(),bj)),void 0,import.meta.url),ej(()=>Promise.resolve().then(()=>(yj(),gj)),void 0,import.meta.url)],engine:XA()});function kj(e,t){return Oj.codeToHtml(e,{lang:t,theme:`tempest`})}var Aj=[`innerHTML`],jj={key:1,class:`flex justify-center items-center p-8 pt-4 font-mono uppercase`},Mj=F({__name:`request-body`,props:{body:{}},setup(e){return(t,n)=>{let r=tT;return z(),V(r,{title:`Request body`,icon:`tabler:http-post`},{default:P(()=>[e.body?(z(),B(`div`,{key:0,class:`p-6`,innerHTML:M(kj)(e.body,`json`)},null,8,Aj)):(z(),B(`div`,jj,[...n[0]||=[H(`span`,{class:`text-muted`},`No request body`,-1)]]))]),_:1})}}}),Nj={slots:{root:``,content:`data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden`}},Pj={__name:`Collapsible`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=Xa(),a=om(),o=jh(hd(n,`as`,`defaultOpen`,`open`,`disabled`,`unmountOnHide`),r),s=K(()=>Xx({extend:Xx(Nj),...a.ui?.collapsible||{}})());return(e,t)=>(z(),V(M(cg),G(M(o),{"data-slot":`root`,class:s.value.root({class:[n.ui?.root,n.class]})}),{default:P(({open:t})=>[i.default?(z(),V(M(ug),{key:0,"as-child":``},{default:P(()=>[I(e.$slots,`default`,{open:t})]),_:2},1024)):W(``,!0),U(M(lg),{"data-slot":`content`,class:k(s.value.content({class:n.ui?.content}))},{default:P(()=>[I(e.$slots,`content`)]),_:3},8,[`class`])]),_:3},16,[`class`]))}},Fj=`vscode`;function Ij(e,t){let n=encodeURIComponent(e),r=t??1;switch(Fj){case`vscode`:window.open(`vscode://file/${n}:${r}`,`_self`);break;case`phpstorm`:window.open(`phpstorm://open?file=${n}&line=${r}`,`_self`);break;case`zed`:window.open(`zed://file/${n}:${r}`,`_self`);break}}var Lj={class:`overflow-hidden font-mono`},Rj={class:`overflow-x-auto`},zj={class:`flex flex-col`},Bj=[`onClick`],Vj=[`textContent`],Hj={class:`flex-1 pr-3 min-w-0`},Uj=[`innerHTML`],Wj={class:`opacity-0 group-hover:opacity-100 transition-all group-hover:-translate-x-3`},Gj=F({__name:`code-snippet`,props:{snippet:{},file:{}},setup(e){let t=e,n=K(()=>Object.entries(t.snippet.lines).map(([e,n])=>({number:Number(e),code:n,highlighted:kj(n,`php`),isHighlighted:Number(e)===t.snippet.highlightedLine})));return(t,r)=>{let i=LC;return z(),B(`div`,Lj,[H(`div`,Rj,[H(`ul`,zj,[(z(!0),B(R,null,Pa(n.value,t=>(z(),B(`li`,{key:t.number,class:k([`flex transition-colors items-center text-sm py-1 group cursor-pointer hover:bg-accented!`,t.isHighlighted&&`bg-error-400/15`,!t.isHighlighted&&`even:bg-elevated dark:even:bg-accented/20`]),onClick:n=>M(Ij)(e.file,t.number)},[H(`div`,{class:`px-3 w-12 text-dimmed text-right select-none shrink-0`,textContent:pt(t.number)},null,8,Vj),H(`div`,Hj,[H(`div`,{innerHTML:t.highlighted},null,8,Uj)]),H(`div`,Wj,[U(i,{name:`tabler:code`,class:`text-dimmed`})])],10,Bj))),128))])])])}}}),Kj=[`textContent`],qj=[`textContent`],Jj=F({__name:`file-label`,props:{absoluteFile:{},relativeFile:{},line:{}},setup(e){let t=e,n=K(()=>!t.relativeFile||t.relativeFile.length>t.absoluteFile.length?t.absoluteFile:t.relativeFile);return(t,r)=>{let i=aT;return z(),V(i,{text:e.absoluteFile},{default:P(()=>[H(`code`,{class:`font-mono text-dimmed decoration-dashed decoration-transparent hover:decoration-neutral-500 underline underline-offset-4 truncate transition-colors cursor-pointer`,onClick:r[0]||=ku(t=>M(Ij)(e.absoluteFile,e.line),[`stop`])},[H(`span`,{textContent:pt(n.value)},null,8,Kj),r[1]||=H(`span`,null,`:`,-1),H(`span`,{class:`text-muted`,textContent:pt(e.line)},null,8,qj)])]),_:1},8,[`text`])}}}),Yj={slots:{overlay:`fixed inset-0`,content:`bg-default divide-y divide-default flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-16`,wrapper:``,body:`flex-1 p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]`,content:`data-[state=open]:animate-[scale-in_200ms_ease-out] data-[state=closed]:animate-[scale-out_200ms_ease-in]`}},fullscreen:{true:{content:`inset-0`},false:{content:`w-[calc(100vw-2rem)] max-w-lg rounded-lg shadow-lg ring ring-default`}},overlay:{true:{overlay:`bg-elevated/75`}},scrollable:{true:{overlay:`overflow-y-auto`,content:`relative`},false:{content:`fixed`,body:`overflow-y-auto`}}},compoundVariants:[{scrollable:!0,fullscreen:!1,class:{overlay:`grid place-items-center p-4 sm:py-8`}},{scrollable:!1,fullscreen:!1,class:{content:`top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-hidden`}}]},Xj={__name:`Modal`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},scrollable:{type:Boolean,required:!1},transition:{type:Boolean,required:!1,default:!0},fullscreen:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:null,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`after:leave`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=Xa(),{t:a}=Am(),o=om(),s=jh(hd(n,`open`,`defaultOpen`,`modal`),r),c=rb(cr(()=>n.portal)),l=cr(()=>n.content),u=K(()=>n.dismissible?n.scrollable?{pointerDownOutside:e=>{let t=e.detail.originalEvent,n=t.target;(t.offsetX>n.clientWidth||t.offsetY>n.clientHeight)&&e.preventDefault()}}:{}:[`pointerDownOutside`,`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),[d,f]=kd(),p=K(()=>Xx({extend:Xx(Yj),...o.ui?.modal||{}})({transition:n.transition,fullscreen:n.fullscreen,overlay:n.overlay,scrollable:n.scrollable}));return(t,m)=>(z(),V(M(pg),at(Zs(M(s))),{default:P(({open:s,close:h})=>[U(M(d),null,{default:P(()=>[U(M(Gg),G({"data-slot":`content`,class:p.value.content({class:[!i.default&&n.class,n.ui?.content]})},l.value,{onAfterEnter:m[0]||=e=>r(`after:enter`),onAfterLeave:m[1]||=e=>r(`after:leave`)},La(u.value)),{default:P(()=>[i.content&&(e.title||i.title||e.description||i.description)?(z(),V(M(t_),{key:0},{default:P(()=>[e.title||i.title?(z(),V(M(Zg),{key:0},{default:P(()=>[I(t.$slots,`title`,{},()=>[$s(pt(e.title),1)])]),_:3})):W(``,!0),e.description||i.description?(z(),V(M(Kg),{key:1},{default:P(()=>[I(t.$slots,`description`,{},()=>[$s(pt(e.description),1)])]),_:3})):W(``,!0)]),_:3})):W(``,!0),I(t.$slots,`content`,{close:h},()=>[i.header||e.title||i.title||e.description||i.description||n.close||i.close?(z(),B(`div`,{key:0,"data-slot":`header`,class:k(p.value.header({class:n.ui?.header}))},[I(t.$slots,`header`,{close:h},()=>[H(`div`,{"data-slot":`wrapper`,class:k(p.value.wrapper({class:n.ui?.wrapper}))},[e.title||i.title?(z(),V(M(Zg),{key:0,"data-slot":`title`,class:k(p.value.title({class:n.ui?.title}))},{default:P(()=>[I(t.$slots,`title`,{},()=>[$s(pt(e.title),1)])]),_:3},8,[`class`])):W(``,!0),e.description||i.description?(z(),V(M(Kg),{key:1,"data-slot":`description`,class:k(p.value.description({class:n.ui?.description}))},{default:P(()=>[I(t.$slots,`description`,{},()=>[$s(pt(e.description),1)])]),_:3},8,[`class`])):W(``,!0)],2),I(t.$slots,`actions`),n.close||i.close?(z(),V(M(mg),{key:0,"as-child":``},{default:P(()=>[I(t.$slots,`close`,{ui:p.value},()=>[n.close?(z(),V(aw,G({key:0,icon:e.closeIcon||M(o).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":M(a)(`modal.close`)},typeof n.close==`object`?n.close:{},{"data-slot":`close`,class:p.value.close({class:n.ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):W(``,!0)])]),_:2},1024)):W(``,!0)])],2)):W(``,!0),i.body?(z(),B(`div`,{key:1,"data-slot":`body`,class:k(p.value.body({class:n.ui?.body}))},[I(t.$slots,`body`,{close:h})],2)):W(``,!0),i.footer?(z(),B(`div`,{key:2,"data-slot":`footer`,class:k(p.value.footer({class:n.ui?.footer}))},[I(t.$slots,`footer`,{close:h})],2)):W(``,!0)])]),_:2},1040,[`class`])]),_:2},1024),i.default?(z(),V(M(Qg),{key:0,"as-child":``,class:k(n.class)},{default:P(()=>[I(t.$slots,`default`,{open:s})]),_:2},1032,[`class`])):W(``,!0),U(M(Xg),at(Zs(M(c))),{default:P(()=>[e.scrollable?(z(),V(M(Jg),{key:0,"data-slot":`overlay`,class:k(p.value.overlay({class:n.ui?.overlay}))},{default:P(()=>[U(M(f))]),_:1},8,[`class`])):(z(),B(R,{key:1},[e.overlay?(z(),V(M(Jg),{key:0,"data-slot":`overlay`,class:k(p.value.overlay({class:n.ui?.overlay}))},null,8,[`class`])):W(``,!0),U(M(f))],64))]),_:1},16)]),_:3},16))}},Zj={class:`font-mono`},Qj={key:0,class:`whitespace-pre`},$j={key:0,textContent:` `},eM=[`innerHTML`],tM={class:`whitespace-pre`},nM={key:0,textContent:` `},rM=[`innerHTML`],iM=[`innerHTML`],aM=[`innerHTML`],oM=F({__name:`symbol-call`,props:{frame:{},formatted:{type:Boolean}},setup(e){let t=e,n=K(()=>{if(!t.frame.class)return[{html:t.frame.function??``}];let e=[],n=`${t.frame.class}${t.frame.type??``}${t.frame.function??``}`,r=Oj.getLastGrammarState(`${n}(`,{lang:`php`,theme:`tempest`}),i=Oj.codeToHtml(n,{lang:`php`,theme:`tempest`}).match(/]*>(.*?)<\/code>/s);return e.push({html:i?.[1]??n}),e.push({html:`(`}),t.frame.arguments.forEach((n,i)=>{i>0&&e.push({html:`,`}),t.formatted&&e.push({html:`
`});let a=`${n.name}: ${n.compact}`,o=Oj.codeToHtml(a,{lang:`php`,theme:`tempest`,grammarState:r}).match(/]*>(.*?)<\/code>/s);e.push({html:o?.[1]??a,argument:n})}),t.formatted&&t.frame.arguments.length>0&&e.push({html:`
`}),e.push({html:`);`}),e});return(t,r)=>{let i=Xj;return z(),B(`span`,Zj,[(z(!0),B(R,null,Pa(n.value,(t,n)=>(z(),B(R,{key:n},[t.argument&&!t.argument.json?(z(),B(`span`,Qj,[e.formatted?(z(),B(`span`,$j)):W(``,!0),H(`span`,{innerHTML:t.html},null,8,eM)])):t.argument?(z(),V(i,{key:1,scrollable:!0,class:`overflow-hidden`,close:!1},{body:P(()=>[t.argument.json?(z(),B(`div`,{key:0,innerHTML:M(kj)(t.argument.json,`json`),class:`overflow-auto text-sm`},null,8,iM)):W(``,!0)]),default:P(()=>[H(`span`,tM,[e.formatted?(z(),B(`span`,nM)):W(``,!0),H(`span`,{innerHTML:t.html,class:`decoration-dashed decoration-neutral-400 hover:decoration-neutral-500 dark:decoration-neutral-600 underline underline-offset-4 transition-colors cursor-pointer`},null,8,rM)])]),_:2},1024)):(z(),B(`span`,{key:2,innerHTML:t.html},null,8,aM))],64))),128))])}}}),sM={class:`flex items-center gap-x-2 bg-accented/60 data-[state=open]:bg-accented/80 hover:bg-accented/80 px-4 py-3 text-dimmed text-sm transition-colors cursor-pointer`},cM={class:`mr-1 shrink-0`},lM={class:`flex justify-between items-center grow`},uM={class:`bg-muted py-1 border-default border-t`},dM=F({__name:`application-frame`,props:{frame:{}},setup(e){return(t,n)=>{let r=Pj;return z(),V(r,{class:`border border-default rounded-md overflow-hidden`,"default-open":``},{default:P(({open:t})=>[H(`div`,sM,[H(`div`,cM,[H(`div`,{class:k([`rounded-full size-2 shrink-0`,t?`bg-(--ui-text-muted)/80`:`bg-(--ui-text-dimmed)/60`])},null,2)]),H(`div`,lM,[U(oM,{frame:e.frame},null,8,[`frame`]),U(Jj,{"relative-file":e.frame.relativeFile,"absolute-file":e.frame.absoluteFile,line:e.frame.line},null,8,[`relative-file`,`absolute-file`,`line`])])])]),content:P(()=>[H(`div`,uM,[e.frame.snippet?(z(),V(Gj,{key:0,snippet:e.frame.snippet,file:e.frame.absoluteFile},null,8,[`snippet`,`file`])):W(``,!0)])]),_:1})}}}),fM={class:`flex items-center gap-x-2 data-[state=open]:bg-accented/80 hover:bg-accented/80 px-4 py-3 text-dimmed text-sm transition-colors cursor-pointer`},pM={class:`flex justify-between items-center font-mono grow`},mM={class:`flex flex-col bg-muted border-default border-t overflow-x-scroll`},hM={class:`flex justify-between items-center`},gM={class:`font-mono text-xs`},_M=[`textContent`],vM=F({__name:`vendor-frames`,props:{frames:{}},setup(e){return(t,n)=>{let r=Pj;return z(),V(r,{class:`group border border-default not-data-[state=open]:border-accented not-data-[state=open]:border-dashed rounded-md overflow-hidden`},{content:P(()=>[H(`div`,mM,[(z(!0),B(R,null,Pa(e.frames,e=>(z(),B(`div`,{key:`vendor_${e.index}`,class:`flex flex-col gap-y-5 px-4 py-3 border-b border-b-default`},[U(oM,{frame:e,formatted:!0,class:`text-sm`},null,8,[`frame`]),H(`div`,hM,[U(Jj,{"relative-file":e.relativeFile,"absolute-file":e.absoluteFile,line:e.line,class:`text-xs`},null,8,[`relative-file`,`absolute-file`,`line`]),H(`span`,gM,[n[1]||=H(`span`,{class:`text-dimmed`},`#`,-1),H(`span`,{class:`text-muted`,textContent:pt(e.index)},null,8,_M)])])]))),128))])]),default:P(()=>[H(`div`,fM,[n[0]||=H(`div`,{class:`mr-1 shrink-0`},[H(`div`,{class:`rounded-full size-2 shrink-0 group-data-[state=open]:bg-(--ui-text-muted)/80 bg-(--ui-text-dimmed)/60`})],-1),H(`div`,pM,[H(`span`,null,pt(e.frames.length)+` vendor frames`,1)])])]),_:1})}}}),yM={class:`flex flex-col gap-y-2`},bM=F({__name:`stacktrace`,props:{exception:{}},setup(e){let t=e,n=K(()=>{let e=t.exception.stacktrace.frames,n=[];return e.forEach(e=>{let t=e.isVendor??!0?`vendor`:`application`,r=n[n.length-1];r&&r.type===t?r.frames.push(e):n.push({type:t,frames:[e]})}),n});return(e,t)=>(z(),V(tT,{title:`Stacktrace`,icon:`tabler:stack-2`},{default:P(()=>[H(`div`,yM,[(z(!0),B(R,null,Pa(n.value,({type:e,frames:t},n)=>(z(),B(R,{key:`group_${n}_${e}`},[e===`application`?(z(!0),B(R,{key:0},Pa(t,e=>(z(),V(dM,{key:`app_${e.index}`,frame:e},null,8,[`frame`]))),128)):W(``,!0),e===`vendor`?(z(),V(vM,{key:1,frames:t},null,8,[`frames`])):W(``,!0)],64))),128))])]),_:1}))}}),xM={slots:{base:`font-medium inline-flex items-center`,label:`truncate`,leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailingIcon:`shrink-0`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{xs:{base:`text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},sm:{base:`text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},md:{base:`text-xs px-2 py-1 gap-1 rounded-md`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},lg:{base:`text-sm px-2 py-1 gap-1.5 rounded-md`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`text-base px-2.5 py-1 gap-1.5 rounded-md`,leadingIcon:`size-6`,leadingAvatarSize:`2xs`,trailingIcon:`size-6`}},square:{true:``}},compoundVariants:[{color:`primary`,variant:`solid`,class:`bg-primary text-inverted`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-inverted`},{color:`success`,variant:`solid`,class:`bg-success text-inverted`},{color:`info`,variant:`solid`,class:`bg-info text-inverted`},{color:`warning`,variant:`solid`,class:`bg-warning text-inverted`},{color:`error`,variant:`solid`,class:`bg-error text-inverted`},{color:`primary`,variant:`outline`,class:`text-primary ring ring-inset ring-primary/50`},{color:`secondary`,variant:`outline`,class:`text-secondary ring ring-inset ring-secondary/50`},{color:`success`,variant:`outline`,class:`text-success ring ring-inset ring-success/50`},{color:`info`,variant:`outline`,class:`text-info ring ring-inset ring-info/50`},{color:`warning`,variant:`outline`,class:`text-warning ring ring-inset ring-warning/50`},{color:`error`,variant:`outline`,class:`text-error ring ring-inset ring-error/50`},{color:`primary`,variant:`soft`,class:`bg-primary/10 text-primary`},{color:`secondary`,variant:`soft`,class:`bg-secondary/10 text-secondary`},{color:`success`,variant:`soft`,class:`bg-success/10 text-success`},{color:`info`,variant:`soft`,class:`bg-info/10 text-info`},{color:`warning`,variant:`soft`,class:`bg-warning/10 text-warning`},{color:`error`,variant:`soft`,class:`bg-error/10 text-error`},{color:`primary`,variant:`subtle`,class:`bg-primary/10 text-primary ring ring-inset ring-primary/25`},{color:`secondary`,variant:`subtle`,class:`bg-secondary/10 text-secondary ring ring-inset ring-secondary/25`},{color:`success`,variant:`subtle`,class:`bg-success/10 text-success ring ring-inset ring-success/25`},{color:`info`,variant:`subtle`,class:`bg-info/10 text-info ring ring-inset ring-info/25`},{color:`warning`,variant:`subtle`,class:`bg-warning/10 text-warning ring ring-inset ring-warning/25`},{color:`error`,variant:`subtle`,class:`bg-error/10 text-error ring ring-inset ring-error/25`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`},{size:`xs`,square:!0,class:`p-0.5`},{size:`sm`,square:!0,class:`p-1`},{size:`md`,square:!0,class:`p-1`},{size:`lg`,square:!0,class:`p-1`},{size:`xl`,square:!0,class:`p-1`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`}},SM={__name:`Badge`,props:{as:{type:null,required:!1,default:`span`},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(e){let t=e,n=Xa(),r=om(),{orientation:i,size:a}=KC(t),{isLeading:o,isTrailing:s,leadingIconName:c,trailingIconName:l}=WC(t),u=K(()=>Xx({extend:Xx(xM),...r.ui?.badge||{}})({color:t.color,variant:t.variant,size:a.value||t.size,square:t.square||!n.default&&!t.label,fieldGroup:i.value}));return(n,r)=>(z(),V(M(ig),{as:e.as,"data-slot":`base`,class:k(u.value.base({class:[t.ui?.base,t.class]}))},{default:P(()=>[I(n.$slots,`leading`,{ui:u.value},()=>[M(o)&&M(c)?(z(),V(LC,{key:0,name:M(c),"data-slot":`leadingIcon`,class:k(u.value.leadingIcon({class:t.ui?.leadingIcon}))},null,8,[`name`,`class`])):e.avatar?(z(),V(UC,G({key:1,size:t.ui?.leadingAvatarSize||u.value.leadingAvatarSize()},e.avatar,{"data-slot":`leadingAvatar`,class:u.value.leadingAvatar({class:t.ui?.leadingAvatar})}),null,16,[`size`,`class`])):W(``,!0)]),I(n.$slots,`default`,{ui:u.value},()=>[e.label!==void 0&&e.label!==null?(z(),B(`span`,{key:0,"data-slot":`label`,class:k(u.value.label({class:t.ui?.label}))},pt(e.label),3)):W(``,!0)]),I(n.$slots,`trailing`,{ui:u.value},()=>[M(s)&&M(l)?(z(),V(LC,{key:0,name:M(l),"data-slot":`trailingIcon`,class:k(u.value.trailingIcon({class:t.ui?.trailingIcon}))},null,8,[`name`,`class`])):W(``,!0)])]),_:3},8,[`as`,`class`]))}},CM={class:`flex flex-col gap-y-8`},wM={class:`flex justify-between items-center gap-x-6`},TM={class:`flex flex-col gap-y-2 min-w-0`},EM=[`textContent`],DM={class:`flex items-center gap-x-2`},OM={class:`flex flex-col items-end gap-2 font-mono shrink-0`},kM=[`textContent`],AM={class:`flex items-center gap-x-2`},jM=[`textContent`],MM=F({__name:`summary`,props:{exception:{},phpVersion:{},tempestVersion:{},uri:{},method:{},status:{},executionTime:{},memoryPeakUsage:{}},setup(e){let t=e;function n(e,t=0,n=!1){let r=n?1024:1e3,i=n?[`B`,`KiB`,`MiB`,`GiB`,`TiB`,`PiB`,`EiB`,`ZiB`,`YiB`,`RiB`,`QiB`]:[`B`,`KB`,`MB`,`GB`,`TB`,`PB`,`EB`,`ZB`,`YB`,`RB`,`QB`],a=0;for(;e/r>.9&&a{let a=aT,o=Jj,s=SM;return z(),B(`div`,CM,[H(`div`,wM,[H(`div`,TM,[U(a,{text:e.exception.stacktrace.exceptionClass},{default:P(()=>[H(`span`,{class:`font-semibold text-3xl truncate`,textContent:pt(e.exception.stacktrace.exceptionClass)},null,8,EM)]),_:1},8,[`text`]),H(`div`,DM,[U(o,{"relative-file":e.exception.stacktrace.relativeFile,"absolute-file":e.exception.stacktrace.absoluteFile,line:e.exception.stacktrace.line},null,8,[`relative-file`,`absolute-file`,`line`])])]),H(`div`,OM,[U(s,{color:`neutral`,size:`md`,label:e.uri},{leading:P(()=>[H(`span`,{class:`text-muted`,textContent:pt(e.method)},null,8,kM)]),_:1},8,[`label`]),H(`div`,AM,[U(s,{size:`md`,color:t.status<400?`neutral`:t.status>=400&&t.status<500?`warning`:`error`,label:t.status},{leading:P(()=>[...i[0]||=[H(`span`,{class:`text-muted`},`STATUS`,-1)]]),_:1},8,[`color`,`label`]),U(a,{text:`The total execution time from kernel boot to response was ${e.executionTime} milliseconds`},{default:P(()=>[U(s,{color:`neutral`,size:`md`,label:e.executionTime.toFixed()+` ms`},{leading:P(()=>[...i[1]||=[H(`span`,{class:`text-muted`},`TIME`,-1)]]),_:1},8,[`label`])]),_:1},8,[`text`]),U(a,{text:`The peak memory usage during execution was ${e.memoryPeakUsage} bytes`},{default:P(()=>[U(s,{color:`neutral`,size:`md`,label:n(e.memoryPeakUsage)},{leading:P(()=>[...i[2]||=[H(`span`,{class:`text-muted`},`MEM`,-1)]]),_:1},8,[`label`])]),_:1},8,[`text`]),U(s,{color:`neutral`,size:`md`,label:e.tempestVersion},{leading:P(()=>[...i[3]||=[H(`span`,{class:`text-muted`},`TEMPEST`,-1)]]),_:1},8,[`label`]),U(s,{color:`neutral`,size:`md`,label:e.phpVersion},{leading:P(()=>[...i[4]||=[H(`span`,{class:`text-muted`},`PHP`,-1)]]),_:1},8,[`label`])])])]),H(`span`,{class:`font-light text-xl`,textContent:pt(e.exception.stacktrace.message)},null,8,jM)])}}});const NM=Rn({step:`initializing`});function PM(e){NM.step=`ready`,NM.step===`ready`&&(NM.exception=e)}var FM={key:0,class:`my-32`},IM=zu(F({__name:`renderer`,setup(e){let t=Pi(`background`);return Vw(Yw),qw(()=>NM.step===`initializing`?`Exception`:NM.exception.stacktrace.message),_a(()=>t.value.style.backgroundImage=`url("${Jw}")`),(e,n)=>{let r=_w,i=hw;return z(),V(i,null,{default:P(()=>[H(`div`,{ref_key:`background`,ref:t,class:`z-[-1] absolute inset-0 bg-repeat pointer-events-none`},null,512),U(r,null,{default:P(()=>[M(NM).step===`ready`?(z(),B(`main`,FM,[U(MM,{"tempest-version":M(NM).exception.versions.tempest,"php-version":M(NM).exception.versions.php,exception:M(NM).exception,uri:M(NM).exception.request.uri,method:M(NM).exception.request.method,status:M(NM).exception.response.status,"execution-time":M(NM).exception.resources.executionTimeMs,"memory-peak-usage":M(NM).exception.resources.memoryPeakUsage,class:`mb-4`},null,8,[`tempest-version`,`php-version`,`exception`,`uri`,`method`,`status`,`execution-time`,`memory-peak-usage`]),U(bM,{exception:M(NM).exception,class:`mt-12`},null,8,[`exception`]),U(Mj,{body:M(NM).exception.request.body,class:`mt-12`},null,8,[`body`]),U(dT,{headers:M(NM).exception.request.headers,exception:M(NM).exception,class:`mt-12`},null,8,[`headers`,`exception`])])):W(``,!0)]),_:1})]),_:1})}}})),LM=rm({routes:[],history:Sp()}),RM=document.getElementById(`tempest-hydration`);if(!RM)throw Error(`Hydration element not found`);var zM=JSON.parse(RM.textContent);console.log(zM),PM(zM),IM.use(LM),IM.use(Hm),IM.mount(`#root`); \ No newline at end of file diff --git a/packages/router/src/Exceptions/local/dist/style.css b/packages/router/src/Exceptions/local/dist/style.css new file mode 100644 index 000000000..3d0131bb6 --- /dev/null +++ b/packages/router/src/Exceptions/local/dist/style.css @@ -0,0 +1,3 @@ +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter Variable",ui-sans-serif,system-ui;--font-mono:"JetBrains Mono Variable",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-neutral-50:var(--ui-color-neutral-50);--color-neutral-950:var(--ui-color-neutral-950);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-old-neutral-50:oklch(98.5% 0 0);--color-old-neutral-100:oklch(97% 0 0);--color-old-neutral-200:oklch(92.2% 0 0);--color-old-neutral-300:oklch(87% 0 0);--color-old-neutral-400:oklch(70.8% 0 0);--color-old-neutral-500:oklch(55.6% 0 0);--color-old-neutral-600:oklch(43.9% 0 0);--color-old-neutral-700:oklch(37.1% 0 0);--color-old-neutral-800:oklch(26.9% 0 0);--color-old-neutral-900:oklch(20.5% 0 0);--color-old-neutral-950:oklch(14.5% 0 0);--code-background:transparent;--code-foreground:var(--ui-text-toned);--code-keyword:#e95678;--code-property:#fab795;--code-type:#25b0bc;--code-generic:#b877db;--code-value:#f09483;--code-variable:#f09483;--code-comment:#6c6f93;--code-highlight:#2e303e;--code-gutter:#6c6f93;--code-gutter-addition:#27d796;--code-gutter-deletion:#f43e5c}:host,:root{--ui-header-height:calc(var(--spacing)*16)}.light,:host,:root{--ui-text-dimmed:var(--ui-color-neutral-400);--ui-text-muted:var(--ui-color-neutral-500);--ui-text-toned:var(--ui-color-neutral-600);--ui-text:var(--ui-color-neutral-700);--ui-text-highlighted:var(--ui-color-neutral-900);--ui-text-inverted:#fff;--ui-bg:#fff;--ui-bg-muted:var(--ui-color-neutral-50);--ui-bg-elevated:var(--ui-color-neutral-100);--ui-bg-accented:var(--ui-color-neutral-200);--ui-bg-inverted:var(--ui-color-neutral-900);--ui-border:var(--ui-color-neutral-200);--ui-border-muted:var(--ui-color-neutral-200);--ui-border-accented:var(--ui-color-neutral-300);--ui-border-inverted:var(--ui-color-neutral-900);--ui-radius:.25rem;--ui-container:80rem}.dark{--ui-text-dimmed:var(--ui-color-neutral-500);--ui-text-muted:var(--ui-color-neutral-400);--ui-text-toned:var(--ui-color-neutral-300);--ui-text:var(--ui-color-neutral-200);--ui-text-highlighted:#fff;--ui-text-inverted:var(--ui-color-neutral-900);--ui-bg:var(--ui-color-neutral-900);--ui-bg-muted:var(--ui-color-neutral-800);--ui-bg-elevated:var(--ui-color-neutral-800);--ui-bg-accented:var(--ui-color-neutral-700);--ui-bg-inverted:#fff;--ui-border:var(--ui-color-neutral-800);--ui-border-muted:var(--ui-color-neutral-700);--ui-border-accented:var(--ui-color-neutral-700);--ui-border-inverted:#fff}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background-color:var(--ui-bg);color:var(--ui-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body:where(.dark,.dark *){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-1{inset-inline:calc(var(--spacing)*1)}.inset-x-4{inset-inline:calc(var(--spacing)*4)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-1{inset-block:calc(var(--spacing)*1)}.inset-y-1\.5{inset-block:calc(var(--spacing)*1.5)}.inset-y-2{inset-block:calc(var(--spacing)*2)}.inset-y-3{inset-block:calc(var(--spacing)*3)}.inset-y-4{inset-block:calc(var(--spacing)*4)}.-start-px{inset-inline-start:-1px}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-4{inset-inline-start:calc(var(--spacing)*4)}.start-32{inset-inline-start:calc(var(--spacing)*32)}.start-\[calc\(50\%\+16px\)\]{inset-inline-start:calc(50% + 16px)}.start-\[calc\(50\%\+20px\)\]{inset-inline-start:calc(50% + 20px)}.start-\[calc\(50\%\+28px\)\]{inset-inline-start:calc(50% + 28px)}.start-\[calc\(50\%\+32px\)\]{inset-inline-start:calc(50% + 32px)}.start-\[calc\(50\%\+36px\)\]{inset-inline-start:calc(50% + 36px)}.start-\[calc\(50\%-1px\)\]{inset-inline-start:calc(50% - 1px)}.-end-1\.5{inset-inline-end:calc(var(--spacing)*-1.5)}.end-0{inset-inline-end:calc(var(--spacing)*0)}.end-4{inset-inline-end:calc(var(--spacing)*4)}.end-\[calc\(-50\%\+16px\)\]{inset-inline-end:calc(16px - 50%)}.end-\[calc\(-50\%\+20px\)\]{inset-inline-end:calc(20px - 50%)}.end-\[calc\(-50\%\+28px\)\]{inset-inline-end:calc(28px - 50%)}.end-\[calc\(-50\%\+32px\)\]{inset-inline-end:calc(32px - 50%)}.end-\[calc\(-50\%\+36px\)\]{inset-inline-end:calc(36px - 50%)}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.-top-8{top:calc(var(--spacing)*-8)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-\[30px\]{top:30px}.top-\[38px\]{top:38px}.top-\[46px\]{top:46px}.top-\[50\%\]{top:50%}.top-\[54px\]{top:54px}.top-\[62px\]{top:62px}.top-\[86\%\]{top:86%}.top-\[calc\(50\%-2px\)\]{top:calc(50% - 2px)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-1\/2{right:50%}.right-4{right:calc(var(--spacing)*4)}.-bottom-7{bottom:calc(var(--spacing)*-7)}.-bottom-\[10px\]{bottom:-10px}.-bottom-px{bottom:-1px}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-\(--reka-navigation-menu-viewport-left\){left:var(--reka-navigation-menu-viewport-left)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-6\.5{left:calc(var(--spacing)*6.5)}.left-11{left:calc(var(--spacing)*11)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-\(--index\){z-index:var(--index)}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[100\]{z-index:100}.order-first{order:-9999}.order-last{order:9999}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0\.5{margin:calc(var(--spacing)*.5)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.-mx-4{margin-inline:calc(var(--spacing)*-4)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-32{margin-block:calc(var(--spacing)*32)}.-ms-1\.5{margin-inline-start:calc(var(--spacing)*-1.5)}.-ms-4{margin-inline-start:calc(var(--spacing)*-4)}.-ms-\[8\.5px\]{margin-inline-start:-8.5px}.-ms-px{margin-inline-start:-1px}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.ms-4{margin-inline-start:calc(var(--spacing)*4)}.ms-4\.5{margin-inline-start:calc(var(--spacing)*4.5)}.ms-5{margin-inline-start:calc(var(--spacing)*5)}.ms-5\.5{margin-inline-start:calc(var(--spacing)*5.5)}.ms-6{margin-inline-start:calc(var(--spacing)*6)}.ms-auto{margin-inline-start:auto}.-me-0\.5{margin-inline-end:calc(var(--spacing)*-.5)}.-me-1{margin-inline-end:calc(var(--spacing)*-1)}.-me-1\.5{margin-inline-end:calc(var(--spacing)*-1.5)}.-me-2{margin-inline-end:calc(var(--spacing)*-2)}.me-1\.5{margin-inline-end:calc(var(--spacing)*1.5)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.-mt-8{margin-top:calc(var(--spacing)*-8)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-3\.5{margin-top:calc(var(--spacing)*3.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-auto{margin-top:auto}.\!mr-4{margin-right:calc(var(--spacing)*4)!important}.mr-1{margin-right:calc(var(--spacing)*1)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-24{margin-bottom:calc(var(--spacing)*24)}.mb-auto{margin-bottom:auto}.\!ml-4{margin-left:calc(var(--spacing)*4)!important}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-4\.5{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-10\/12{width:83.3333%;height:83.3333%}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-full{width:100%;height:100%}.\!h-1\.5{height:calc(var(--spacing)*1.5)!important}.\!h-12{height:calc(var(--spacing)*12)!important}.h-\(--reka-navigation-menu-viewport-height\){height:var(--reka-navigation-menu-viewport-height)}.h-\(--reka-tabs-indicator-size\){height:var(--reka-tabs-indicator-size)}.h-\(--ui-header-height\){height:var(--ui-header-height)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-38{height:calc(var(--spacing)*38)}.h-40{height:calc(var(--spacing)*40)}.h-42{height:calc(var(--spacing)*42)}.h-44{height:calc(var(--spacing)*44)}.h-46{height:calc(var(--spacing)*46)}.h-\[4px\]{height:4px}.h-\[5px\]{height:5px}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-\[8px\]{height:8px}.h-\[9px\]{height:9px}.h-\[10px\]{height:10px}.h-\[11px\]{height:11px}.h-\[12px\]{height:12px}.h-\[fit-content\]{height:fit-content}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[96\%\]{max-height:96%}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[49px\]{min-height:49px}.min-h-\[calc\(100vh-var\(--ui-header-height\)\)\]{min-height:calc(100vh - var(--ui-header-height))}.min-h-fit{min-height:fit-content}.min-h-svh{min-height:100svh}.\!w-1\.5{width:calc(var(--spacing)*1.5)!important}.\!w-12{width:calc(var(--spacing)*12)!important}.w-\(--reka-combobox-trigger-width\){width:var(--reka-combobox-trigger-width)}.w-\(--reka-navigation-menu-indicator-size\){width:var(--reka-navigation-menu-indicator-size)}.w-\(--reka-select-trigger-width\){width:var(--reka-select-trigger-width)}.w-\(--reka-tabs-indicator-size\){width:var(--reka-tabs-indicator-size)}.w-\(--width\){width:var(--width)}.w-0{width:calc(var(--spacing)*0)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-32{width:calc(var(--spacing)*32)}.w-38{width:calc(var(--spacing)*38)}.w-40{width:calc(var(--spacing)*40)}.w-42{width:calc(var(--spacing)*42)}.w-44{width:calc(var(--spacing)*44)}.w-46{width:calc(var(--spacing)*46)}.w-60{width:calc(var(--spacing)*60)}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[9px\]{width:9px}.w-\[10px\]{width:10px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-\(--ui-container\){max-width:var(--ui-container)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[75\%\]{max-width:75%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-\[4px\]{min-width:4px}.min-w-\[5px\]{min-width:5px}.min-w-\[6px\]{min-width:6px}.min-w-\[7px\]{min-width:7px}.min-w-\[8px\]{min-width:8px}.min-w-\[9px\]{min-width:9px}.min-w-\[10px\]{min-width:10px}.min-w-\[11px\]{min-width:11px}.min-w-\[12px\]{min-width:12px}.min-w-\[15\%\]{min-width:15%}.min-w-\[16px\]{min-width:16px}.min-w-\[20px\]{min-width:20px}.min-w-\[24px\]{min-width:24px}.min-w-fit{min-width:fit-content}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-x-0{--tw-border-spacing-x:calc(var(--spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.origin-\(--reka-combobox-content-transform-origin\){transform-origin:var(--reka-combobox-content-transform-origin)}.origin-\(--reka-context-menu-content-transform-origin\){transform-origin:var(--reka-context-menu-content-transform-origin)}.origin-\(--reka-dropdown-menu-content-transform-origin\){transform-origin:var(--reka-dropdown-menu-content-transform-origin)}.origin-\(--reka-popover-content-transform-origin\){transform-origin:var(--reka-popover-content-transform-origin)}.origin-\(--reka-select-content-transform-origin\){transform-origin:var(--reka-select-content-transform-origin)}.origin-\(--reka-tooltip-content-transform-origin\){transform-origin:var(--reka-tooltip-content-transform-origin)}.origin-\[top_center\]{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-\[4px\]{--tw-translate-x:calc(4px*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\(--reka-navigation-menu-indicator-position\){--tw-translate-x:var(--reka-navigation-menu-indicator-position);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\(--reka-tabs-indicator-position\){--tw-translate-x:var(--reka-tabs-indicator-position);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\(--reka-tabs-indicator-position\){--tw-translate-y:var(--reka-tabs-indicator-position);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-80{--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-\(--transform\){transform:var(--transform)}.animate-\[marquee-vertical_var\(--duration\)_linear_infinite\]{animation:marquee-vertical var(--duration)linear infinite}.animate-\[marquee_var\(--duration\)_linear_infinite\]{animation:marquee var(--duration)linear infinite}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-mt-3{scroll-margin-top:calc(var(--spacing)*3)}.scroll-mt-4{scroll-margin-top:calc(var(--spacing)*4)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.appearance-none{appearance:none}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-\(--gap\){gap:var(--gap)}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-0\.25{gap:calc(var(--spacing)*.25)}.gap-0\.75{gap:calc(var(--spacing)*.75)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-3\.5{gap:calc(var(--spacing)*3.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-16{gap:calc(var(--spacing)*16)}:where(.-space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(-1px*var(--tw-space-y-reverse));margin-block-end:calc(-1px*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}.gap-x-1\.5{column-gap:calc(var(--spacing)*1.5)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-2\.5{column-gap:calc(var(--spacing)*2.5)}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-x-8{column-gap:calc(var(--spacing)*8)}:where(.-space-x-px>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(-1px*var(--tw-space-x-reverse));margin-inline-end:calc(-1px*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-2\.5{row-gap:calc(var(--spacing)*2.5)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.gap-y-4{row-gap:calc(var(--spacing)*4)}.gap-y-5{row-gap:calc(var(--spacing)*5)}.gap-y-6{row-gap:calc(var(--spacing)*6)}.gap-y-8{row-gap:calc(var(--spacing)*8)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-accented>:not(:last-child)){border-color:var(--ui-border-accented)}:where(.divide-default>:not(:last-child)){border-color:var(--ui-border)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--ui-radius)*2)}.rounded-md{border-radius:calc(var(--ui-radius)*1.5)}.rounded-sm{border-radius:var(--ui-radius)}.rounded-xl{border-radius:calc(var(--ui-radius)*3)}.rounded-xs{border-radius:calc(var(--ui-radius)*.5)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:calc(var(--ui-radius)*2);border-top-right-radius:calc(var(--ui-radius)*2)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-lg{border-top-left-radius:calc(var(--ui-radius)*2);border-bottom-left-radius:calc(var(--ui-radius)*2)}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-lg{border-top-right-radius:calc(var(--ui-radius)*2);border-bottom-right-radius:calc(var(--ui-radius)*2)}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:calc(var(--ui-radius)*2);border-bottom-left-radius:calc(var(--ui-radius)*2)}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-\[2px\]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-s-\[3px\]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:3px}.border-s-\[4px\]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.border-s-\[5px\]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:5px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[2px\]{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-\[3px\]{border-top-style:var(--tw-border-style);border-top-width:3px}.border-t-\[4px\]{border-top-style:var(--tw-border-style);border-top-width:4px}.border-t-\[5px\]{border-top-style:var(--tw-border-style);border-top-width:5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-solid{--tw-border-style:solid;border-style:solid}.border-accented{border-color:var(--ui-border-accented)}.border-bg{border-color:var(--ui-bg)}.border-default{border-color:var(--ui-border)}.border-error{border-color:var(--ui-error)}.border-info{border-color:var(--ui-info)}.border-inverted{border-color:var(--ui-border-inverted)}.border-muted{border-color:var(--ui-border-muted)}.border-primary{border-color:var(--ui-primary)}.border-secondary{border-color:var(--ui-secondary)}.border-success{border-color:var(--ui-success)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--ui-warning)}.border-b-default{border-bottom-color:var(--ui-border)}.\!bg-accented{background-color:var(--ui-bg-accented)!important}.bg-\(--ui-border-accented\){background-color:var(--ui-border-accented)}.bg-\(--ui-text-dimmed\)\/60{background-color:var(--ui-text-dimmed)}@supports (color:color-mix(in lab, red, red)){.bg-\(--ui-text-dimmed\)\/60{background-color:color-mix(in oklab,var(--ui-text-dimmed)60%,transparent)}}.bg-\(--ui-text-muted\)\/80{background-color:var(--ui-text-muted)}@supports (color:color-mix(in lab, red, red)){.bg-\(--ui-text-muted\)\/80{background-color:color-mix(in oklab,var(--ui-text-muted)80%,transparent)}}.bg-accented,.bg-accented\/60{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.bg-accented\/60{background-color:color-mix(in oklab,var(--ui-bg-accented)60%,transparent)}}.bg-border{background-color:var(--ui-border)}.bg-default,.bg-default\/75{background-color:var(--ui-bg)}@supports (color:color-mix(in lab, red, red)){.bg-default\/75{background-color:color-mix(in oklab,var(--ui-bg)75%,transparent)}}.bg-default\/90{background-color:var(--ui-bg)}@supports (color:color-mix(in lab, red, red)){.bg-default\/90{background-color:color-mix(in oklab,var(--ui-bg)90%,transparent)}}.bg-elevated,.bg-elevated\/50{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-elevated\/50{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.bg-elevated\/75{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-elevated\/75{background-color:color-mix(in oklab,var(--ui-bg-elevated)75%,transparent)}}.bg-error{background-color:var(--ui-error)}.bg-error-400\/15{background-color:var(--ui-color-error-400)}@supports (color:color-mix(in lab, red, red)){.bg-error-400\/15{background-color:color-mix(in oklab,var(--ui-color-error-400)15%,transparent)}}.bg-error\/10{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.bg-info,.bg-info\/10{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.bg-info\/10{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.bg-inverted{background-color:var(--ui-bg-inverted)}.bg-muted{background-color:var(--ui-bg-muted)}.bg-primary,.bg-primary\/10{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.bg-secondary,.bg-secondary\/10{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.bg-secondary\/10{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.bg-success,.bg-success\/10{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/10{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-default{--tw-gradient-from:var(--ui-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-default{fill:var(--ui-border)}.object-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-4\.5{padding:calc(var(--spacing)*4.5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-24{padding-block:calc(var(--spacing)*24)}.ps-1{padding-inline-start:calc(var(--spacing)*1)}.ps-1\.5{padding-inline-start:calc(var(--spacing)*1.5)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.ps-2\.5{padding-inline-start:calc(var(--spacing)*2.5)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.ps-4{padding-inline-start:calc(var(--spacing)*4)}.ps-7{padding-inline-start:calc(var(--spacing)*7)}.ps-8{padding-inline-start:calc(var(--spacing)*8)}.ps-9{padding-inline-start:calc(var(--spacing)*9)}.ps-10{padding-inline-start:calc(var(--spacing)*10)}.ps-11{padding-inline-start:calc(var(--spacing)*11)}.pe-1{padding-inline-end:calc(var(--spacing)*1)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-2\.5{padding-inline-end:calc(var(--spacing)*2.5)}.pe-3{padding-inline-end:calc(var(--spacing)*3)}.pe-4\.5{padding-inline-end:calc(var(--spacing)*4.5)}.pe-5{padding-inline-end:calc(var(--spacing)*5)}.pe-5\.5{padding-inline-end:calc(var(--spacing)*5.5)}.pe-6{padding-inline-end:calc(var(--spacing)*6)}.pe-6\.5{padding-inline-end:calc(var(--spacing)*6.5)}.pe-7{padding-inline-end:calc(var(--spacing)*7)}.pe-7\.5{padding-inline-end:calc(var(--spacing)*7.5)}.pe-8{padding-inline-end:calc(var(--spacing)*8)}.pe-8\.5{padding-inline-end:calc(var(--spacing)*8.5)}.pe-9{padding-inline-end:calc(var(--spacing)*9)}.pe-10{padding-inline-end:calc(var(--spacing)*10)}.pe-11{padding-inline-end:calc(var(--spacing)*11)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-3\.5{padding-bottom:calc(var(--spacing)*3.5)}.pb-4\.5{padding-bottom:calc(var(--spacing)*4.5)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-5\.5{padding-bottom:calc(var(--spacing)*5.5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-6\.5{padding-bottom:calc(var(--spacing)*6.5)}.pb-7{padding-bottom:calc(var(--spacing)*7)}.pb-7\.5{padding-bottom:calc(var(--spacing)*7.5)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-8\.5{padding-bottom:calc(var(--spacing)*8.5)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-\[8px\]\/3{font-size:8px;line-height:calc(var(--spacing)*3)}.text-\[10px\]\/3{font-size:10px;line-height:calc(var(--spacing)*3)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-base\/5{font-size:var(--text-base);line-height:calc(var(--spacing)*5)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing)*6)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/5{font-size:var(--text-xs);line-height:calc(var(--spacing)*5)}.text-\[4px\]{font-size:4px}.text-\[5px\]{font-size:5px}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-default{color:var(--ui-text)}.text-dimmed{color:var(--ui-text-dimmed)}.text-error,.text-error\/75{color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.text-error\/75{color:color-mix(in oklab,var(--ui-error)75%,transparent)}}.text-highlighted{color:var(--ui-text-highlighted)}.text-info,.text-info\/75{color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.text-info\/75{color:color-mix(in oklab,var(--ui-info)75%,transparent)}}.text-inherit{color:inherit}.text-inverted{color:var(--ui-text-inverted)}.text-muted{color:var(--ui-text-muted)}.text-primary,.text-primary\/75{color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.text-primary\/75{color:color-mix(in oklab,var(--ui-primary)75%,transparent)}}.text-secondary,.text-secondary\/75{color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.text-secondary\/75{color:color-mix(in oklab,var(--ui-secondary)75%,transparent)}}.text-success,.text-success\/75{color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.text-success\/75{color:color-mix(in oklab,var(--ui-success)75%,transparent)}}.text-toned{color:var(--ui-text-toned)}.text-warning,.text-warning\/75{color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.text-warning\/75{color:color-mix(in oklab,var(--ui-warning)75%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-neutral-400{-webkit-text-decoration-color:var(--ui-color-neutral-400);-webkit-text-decoration-color:var(--ui-color-neutral-400);-webkit-text-decoration-color:var(--ui-color-neutral-400);text-decoration-color:var(--ui-color-neutral-400)}.decoration-transparent{text-decoration-color:#0000}.decoration-dashed{text-decoration-style:dashed}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accented{--tw-ring-color:var(--ui-border-accented)}.ring-bg{--tw-ring-color:var(--ui-bg)}.ring-default{--tw-ring-color:var(--ui-border)}.ring-error,.ring-error\/25{--tw-ring-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.ring-error\/25{--tw-ring-color:color-mix(in oklab,var(--ui-error)25%,transparent)}}.ring-error\/50{--tw-ring-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.ring-error\/50{--tw-ring-color:color-mix(in oklab,var(--ui-error)50%,transparent)}}.ring-info,.ring-info\/25{--tw-ring-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.ring-info\/25{--tw-ring-color:color-mix(in oklab,var(--ui-info)25%,transparent)}}.ring-info\/50{--tw-ring-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.ring-info\/50{--tw-ring-color:color-mix(in oklab,var(--ui-info)50%,transparent)}}.ring-inverted{--tw-ring-color:var(--ui-border-inverted)}.ring-primary,.ring-primary\/25{--tw-ring-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/25{--tw-ring-color:color-mix(in oklab,var(--ui-primary)25%,transparent)}}.ring-primary\/50{--tw-ring-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.ring-primary\/50{--tw-ring-color:color-mix(in oklab,var(--ui-primary)50%,transparent)}}.ring-secondary,.ring-secondary\/25{--tw-ring-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/25{--tw-ring-color:color-mix(in oklab,var(--ui-secondary)25%,transparent)}}.ring-secondary\/50{--tw-ring-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.ring-secondary\/50{--tw-ring-color:color-mix(in oklab,var(--ui-secondary)50%,transparent)}}.ring-success,.ring-success\/25{--tw-ring-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.ring-success\/25{--tw-ring-color:color-mix(in oklab,var(--ui-success)25%,transparent)}}.ring-success\/50{--tw-ring-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.ring-success\/50{--tw-ring-color:color-mix(in oklab,var(--ui-success)50%,transparent)}}.ring-warning,.ring-warning\/25{--tw-ring-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.ring-warning\/25{--tw-ring-color:color-mix(in oklab,var(--ui-warning)25%,transparent)}}.ring-warning\/50{--tw-ring-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.ring-warning\/50{--tw-ring-color:color-mix(in oklab,var(--ui-warning)50%,transparent)}}.ring-white{--tw-ring-color:var(--color-white)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\]{transition-property:background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,opacity\]{transition-property:color,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,translate\,height\]{transition-property:transform,translate,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,width\]{transition-property:translate,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,left\]{transition-property:width,height,left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\[height\]{will-change:height}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\!\[animation-direction\:reverse\]{animation-direction:reverse!important}.\[--duration\:20s\]{--duration:20s}.\[--gap\:--spacing\(16\)\]{--gap:calc(var(--spacing)*16)}.\[--initial-transform\:calc\(100\%\+1\.5rem\)\]{--initial-transform:calc(100% + 1.5rem)}.\[--spotlight-color\:var\(--ui-bg-inverted\)\]{--spotlight-color:var(--ui-bg-inverted)}.\[--spotlight-color\:var\(--ui-error\)\]{--spotlight-color:var(--ui-error)}.\[--spotlight-color\:var\(--ui-info\)\]{--spotlight-color:var(--ui-info)}.\[--spotlight-color\:var\(--ui-primary\)\]{--spotlight-color:var(--ui-primary)}.\[--spotlight-color\:var\(--ui-secondary\)\]{--spotlight-color:var(--ui-secondary)}.\[--spotlight-color\:var\(--ui-success\)\]{--spotlight-color:var(--ui-success)}.\[--spotlight-color\:var\(--ui-warning\)\]{--spotlight-color:var(--ui-warning)}.\[--spotlight-size\:400px\]{--spotlight-size:400px}.backface-hidden{backface-visibility:hidden}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}:is(.\*\:size-2>*){width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}:is(.\*\:break-inside-avoid-column>*){break-inside:avoid-column}:is(.\*\:rounded-full>*){border-radius:3.40282e38px}:is(.\*\:bg-elevated>*){background-color:var(--ui-bg-elevated)}:is(.\*\:pt-8>*){padding-top:calc(var(--spacing)*8)}:is(.\*\:will-change-transform>*){will-change:transform}.not-last\:not-first\:rounded-none:not(:last-child):not(:first-child){border-radius:0}.not-disabled\:cursor-pointer:not(:disabled){cursor:pointer}.not-data-\[segment\=literal\]\:w-6:not([data-segment=literal]){width:calc(var(--spacing)*6)}.not-data-\[segment\=literal\]\:w-7:not([data-segment=literal]){width:calc(var(--spacing)*7)}.not-data-\[segment\=literal\]\:w-8:not([data-segment=literal]){width:calc(var(--spacing)*8)}.not-data-\[state\=open\]\:border-dashed:not([data-state=open]){--tw-border-style:dashed;border-style:dashed}.not-data-\[state\=open\]\:border-accented:not([data-state=open]){border-color:var(--ui-border-accented)}.group-not-last\:group-not-first\:rounded-none:is(:where(.group):not(:last-child) *):is(:where(.group):not(:first-child) *){border-radius:0}.group-not-only\:group-first\:rounded-e-none:is(:where(.group):not(:only-child) *):is(:where(.group):first-child *){border-start-end-radius:0;border-end-end-radius:0}.group-not-only\:group-first\:rounded-b-none:is(:where(.group):not(:only-child) *):is(:where(.group):first-child *){border-bottom-right-radius:0;border-bottom-left-radius:0}.group-not-only\:group-last\:rounded-s-none:is(:where(.group):not(:only-child) *):is(:where(.group):last-child *){border-start-start-radius:0;border-end-start-radius:0}.group-not-only\:group-last\:rounded-t-none:is(:where(.group):not(:only-child) *):is(:where(.group):last-child *){border-top-left-radius:0;border-top-right-radius:0}@media (hover:hover){.group-hover\:-translate-x-3:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--ui-primary)}.group-hover\:text-default:is(:where(.group):hover *){color:var(--ui-text)}.group-hover\:text-inverted:is(:where(.group):hover *){color:var(--ui-text-inverted)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:ring-primary:is(:where(.group):hover *){--tw-ring-color:var(--ui-primary)}.group-hover\:\[animation-play-state\:paused\]:is(:where(.group):hover *){animation-play-state:paused}.group-hover\/blog-post\:scale-110:is(:where(.group\/blog-post):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\/blog-post\:rounded-r-none:is(:where(.group\/blog-post):hover *){border-top-right-radius:0;border-bottom-right-radius:0}.group-hover\/blog-post\:rounded-b-none:is(:where(.group\/blog-post):hover *){border-bottom-right-radius:0;border-bottom-left-radius:0}.group-hover\/blog-post\:shadow-none:is(:where(.group\/blog-post):hover *){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\/changelog-version-image\:scale-105:is(:where(.group\/changelog-version-image):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\/message\:opacity-100:is(:where(.group\/message):hover *){opacity:1}.group-hover\/user\:scale-115:is(:where(.group\/user):hover *){--tw-scale-x:115%;--tw-scale-y:115%;--tw-scale-z:115%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.group-data-expanded\:rotate-180:is(:where(.group)[data-expanded] *){rotate:180deg}.group-data-highlighted\:inline-flex:is(:where(.group)[data-highlighted] *){display:inline-flex}.group-data-highlighted\:text-default:is(:where(.group)[data-highlighted] *){color:var(--ui-text)}.group-data-highlighted\:text-error:is(:where(.group)[data-highlighted] *){color:var(--ui-error)}.group-data-highlighted\:text-info:is(:where(.group)[data-highlighted] *){color:var(--ui-info)}.group-data-highlighted\:text-primary:is(:where(.group)[data-highlighted] *){color:var(--ui-primary)}.group-data-highlighted\:text-secondary:is(:where(.group)[data-highlighted] *){color:var(--ui-secondary)}.group-data-highlighted\:text-success:is(:where(.group)[data-highlighted] *){color:var(--ui-success)}.group-data-highlighted\:text-warning:is(:where(.group)[data-highlighted] *){color:var(--ui-warning)}.group-data-highlighted\:not-group-data-disabled\:text-default:is(:where(.group)[data-highlighted] *):not(:is(:where(.group)[data-disabled] *)){color:var(--ui-text)}.group-data-\[disabled\]\:opacity-75:is(:where(.group)[data-disabled] *){opacity:.75}.group-data-\[state\=active\]\:bg-error:is(:where(.group)[data-state=active] *){background-color:var(--ui-error)}.group-data-\[state\=active\]\:bg-info:is(:where(.group)[data-state=active] *){background-color:var(--ui-info)}.group-data-\[state\=active\]\:bg-inverted:is(:where(.group)[data-state=active] *){background-color:var(--ui-bg-inverted)}.group-data-\[state\=active\]\:bg-primary:is(:where(.group)[data-state=active] *){background-color:var(--ui-primary)}.group-data-\[state\=active\]\:bg-secondary:is(:where(.group)[data-state=active] *){background-color:var(--ui-secondary)}.group-data-\[state\=active\]\:bg-success:is(:where(.group)[data-state=active] *){background-color:var(--ui-success)}.group-data-\[state\=active\]\:bg-warning:is(:where(.group)[data-state=active] *){background-color:var(--ui-warning)}.group-data-\[state\=active\]\:text-inverted:is(:where(.group)[data-state=active] *){color:var(--ui-text-inverted)}.group-data-\[state\=checked\]\:text-error:is(:where(.group)[data-state=checked] *){color:var(--ui-error)}.group-data-\[state\=checked\]\:text-highlighted:is(:where(.group)[data-state=checked] *){color:var(--ui-text-highlighted)}.group-data-\[state\=checked\]\:text-info:is(:where(.group)[data-state=checked] *){color:var(--ui-info)}.group-data-\[state\=checked\]\:text-primary:is(:where(.group)[data-state=checked] *){color:var(--ui-primary)}.group-data-\[state\=checked\]\:text-secondary:is(:where(.group)[data-state=checked] *){color:var(--ui-secondary)}.group-data-\[state\=checked\]\:text-success:is(:where(.group)[data-state=checked] *){color:var(--ui-success)}.group-data-\[state\=checked\]\:text-warning:is(:where(.group)[data-state=checked] *){color:var(--ui-warning)}.group-data-\[state\=checked\]\:opacity-100:is(:where(.group)[data-state=checked] *){opacity:1}.group-data-\[state\=completed\]\:bg-error:is(:where(.group)[data-state=completed] *){background-color:var(--ui-error)}.group-data-\[state\=completed\]\:bg-info:is(:where(.group)[data-state=completed] *){background-color:var(--ui-info)}.group-data-\[state\=completed\]\:bg-inverted:is(:where(.group)[data-state=completed] *){background-color:var(--ui-bg-inverted)}.group-data-\[state\=completed\]\:bg-primary:is(:where(.group)[data-state=completed] *){background-color:var(--ui-primary)}.group-data-\[state\=completed\]\:bg-secondary:is(:where(.group)[data-state=completed] *){background-color:var(--ui-secondary)}.group-data-\[state\=completed\]\:bg-success:is(:where(.group)[data-state=completed] *){background-color:var(--ui-success)}.group-data-\[state\=completed\]\:bg-warning:is(:where(.group)[data-state=completed] *){background-color:var(--ui-warning)}.group-data-\[state\=completed\]\:text-inverted:is(:where(.group)[data-state=completed] *){color:var(--ui-text-inverted)}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[state\=open\]\:bg-\(--ui-text-muted\)\/80:is(:where(.group)[data-state=open] *){background-color:var(--ui-text-muted)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=open\]\:bg-\(--ui-text-muted\)\/80:is(:where(.group)[data-state=open] *){background-color:color-mix(in oklab,var(--ui-text-muted)80%,transparent)}}.group-data-\[state\=open\]\:text-default:is(:where(.group)[data-state=open] *){color:var(--ui-text)}.group-data-\[state\=open\]\:text-error:is(:where(.group)[data-state=open] *){color:var(--ui-error)}.group-data-\[state\=open\]\:text-highlighted:is(:where(.group)[data-state=open] *){color:var(--ui-text-highlighted)}.group-data-\[state\=open\]\:text-info:is(:where(.group)[data-state=open] *){color:var(--ui-info)}.group-data-\[state\=open\]\:text-primary:is(:where(.group)[data-state=open] *){color:var(--ui-primary)}.group-data-\[state\=open\]\:text-secondary:is(:where(.group)[data-state=open] *){color:var(--ui-secondary)}.group-data-\[state\=open\]\:text-success:is(:where(.group)[data-state=open] *){color:var(--ui-success)}.group-data-\[state\=open\]\:text-warning:is(:where(.group)[data-state=open] *){color:var(--ui-warning)}.group-data-\[state\=unchecked\]\:text-dimmed:is(:where(.group)[data-state=unchecked] *){color:var(--ui-text-dimmed)}.group-data-\[state\=unchecked\]\:opacity-100:is(:where(.group)[data-state=unchecked] *){opacity:1}@media (hover:hover){.peer-hover\:text-highlighted:is(:where(.peer):hover~*){color:var(--ui-text-highlighted)}.peer-hover\:text-toned:is(:where(.peer):hover~*){color:var(--ui-text-toned)}}.file\:me-1\.5::file-selector-button{margin-inline-end:calc(var(--spacing)*1.5)}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-muted::file-selector-button{color:var(--ui-text-muted)}.file\:outline-none::file-selector-button{--tw-outline-style:none;outline-style:none}.placeholder\:text-dimmed::placeholder{color:var(--ui-text-dimmed)}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-px:before{content:var(--tw-content);inset:-1px}.before\:inset-px:before{content:var(--tw-content);inset:1px}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.before\:inset-x-px:before{content:var(--tw-content);inset-inline:1px}.before\:inset-y-0:before{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.before\:inset-y-px:before{content:var(--tw-content);inset-block:1px}.before\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\:-right-1\.5:before{content:var(--tw-content);right:calc(var(--spacing)*-1.5)}.before\:-left-1\.5:before{content:var(--tw-content);left:calc(var(--spacing)*-1.5)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:z-2:before{content:var(--tw-content);z-index:2}.before\:z-\[-1\]:before{content:var(--tw-content);z-index:-1}.before\:h-1\/3:before{content:var(--tw-content);height:33.3333%}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-1\/3:before{content:var(--tw-content);width:33.3333%}.before\:w-full:before{content:var(--tw-content);width:100%}.before\:rounded-\[inherit\]:before{content:var(--tw-content);border-radius:inherit}.before\:rounded-md:before{content:var(--tw-content);border-radius:calc(var(--ui-radius)*1.5)}.before\:bg-elevated:before{content:var(--tw-content);background-color:var(--ui-bg-elevated)}.before\:bg-error\/10:before{content:var(--tw-content);background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.before\:bg-error\/10:before{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.before\:bg-info\/10:before{content:var(--tw-content);background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.before\:bg-info\/10:before{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.before\:bg-primary\/10:before{content:var(--tw-content);background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.before\:bg-primary\/10:before{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.before\:bg-secondary\/10:before{content:var(--tw-content);background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.before\:bg-secondary\/10:before{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.before\:bg-success\/10:before{content:var(--tw-content);background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.before\:bg-success\/10:before{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.before\:bg-warning\/10:before{content:var(--tw-content);background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.before\:bg-warning\/10:before{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.before\:bg-gradient-to-b:before{content:var(--tw-content);--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:bg-\[radial-gradient\(var\(--spotlight-size\)_var\(--spotlight-size\)_at_calc\(var\(--spotlight-x\,0px\)\)_calc\(var\(--spotlight-y\,0px\)\)\,var\(--spotlight-color\)\,transparent_70\%\)\]:before{content:var(--tw-content);background-image:radial-gradient(var(--spotlight-size)var(--spotlight-size)at calc(var(--spotlight-x,0px))calc(var(--spotlight-y,0px)),var(--spotlight-color),transparent 70%)}.before\:from-default:before{content:var(--tw-content);--tw-gradient-from:var(--ui-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:content-\[\\\"\\\"\]:before{--tw-content:\"\";content:var(--tw-content)}.not-first-of-type\:before\:me-0\.5:not(:first-of-type):before{content:var(--tw-content);margin-inline-end:calc(var(--spacing)*.5)}.not-first-of-type\:before\:content-\[\'·\'\]:not(:first-of-type):before{--tw-content:"·";content:var(--tw-content)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.after\:inset-x-2\.5:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*2.5)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:inset-y-0\.5:after{content:var(--tw-content);inset-block:calc(var(--spacing)*.5)}.after\:-start-1\.5:after{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*-1.5)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing)*0)}.after\:-bottom-2:after{content:var(--tw-content);bottom:calc(var(--spacing)*-2)}.after\:bottom-0:after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}.after\:z-2:after{content:var(--tw-content);z-index:2}.after\:z-\[1\]:after{content:var(--tw-content);z-index:1}.after\:ms-0\.5:after{content:var(--tw-content);margin-inline-start:calc(var(--spacing)*.5)}.after\:block:after{content:var(--tw-content);display:block}.after\:hidden:after{content:var(--tw-content);display:none}.after\:size-1:after{content:var(--tw-content);width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.after\:size-1\.5:after{content:var(--tw-content);width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.after\:size-2:after{content:var(--tw-content);width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.after\:h-1\/3:after{content:var(--tw-content);height:33.3333%}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-1\/3:after{content:var(--tw-content);width:33.3333%}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:animate-\[carousel-inverse_2s_ease-in-out_infinite\]:after{content:var(--tw-content);animation:2s ease-in-out infinite carousel-inverse}.after\:animate-\[carousel_2s_ease-in-out_infinite\]:after{content:var(--tw-content);animation:2s ease-in-out infinite carousel}.after\:animate-\[elastic_2s_ease-in-out_infinite\]:after{content:var(--tw-content);animation:2s ease-in-out infinite elastic}.after\:animate-\[swing_2s_ease-in-out_infinite\]:after{content:var(--tw-content);animation:2s ease-in-out infinite swing}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-default:after{content:var(--tw-content);background-color:var(--ui-bg)}.after\:bg-error:after{content:var(--tw-content);background-color:var(--ui-error)}.after\:bg-info:after{content:var(--tw-content);background-color:var(--ui-info)}.after\:bg-inverted:after{content:var(--tw-content);background-color:var(--ui-bg-inverted)}.after\:bg-primary:after{content:var(--tw-content);background-color:var(--ui-primary)}.after\:bg-secondary:after{content:var(--tw-content);background-color:var(--ui-secondary)}.after\:bg-success:after{content:var(--tw-content);background-color:var(--ui-success)}.after\:bg-warning:after{content:var(--tw-content);background-color:var(--ui-warning)}.after\:bg-gradient-to-l:after{content:var(--tw-content);--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\:bg-gradient-to-t:after{content:var(--tw-content);--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.after\:from-default:after{content:var(--tw-content);--tw-gradient-from:var(--ui-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\:to-transparent:after{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.after\:text-error:after{content:var(--tw-content);color:var(--ui-error)}.after\:transition-colors:after{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\*\'\]:after{--tw-content:"*";content:var(--tw-content)}.after\:content-\[\\\"\\\"\]:after{--tw-content:\"\";content:var(--tw-content)}:is(.\*\:not-last\:after\:absolute>*):not(:last-child):after{content:var(--tw-content);position:absolute}:is(.\*\:not-last\:after\:inset-x-1>*):not(:last-child):after{content:var(--tw-content);inset-inline:calc(var(--spacing)*1)}:is(.\*\:not-last\:after\:bottom-0>*):not(:last-child):after{content:var(--tw-content);bottom:calc(var(--spacing)*0)}:is(.\*\:not-last\:after\:h-px>*):not(:last-child):after{content:var(--tw-content);height:1px}:is(.\*\:not-last\:after\:bg-border>*):not(:last-child):after{content:var(--tw-content);background-color:var(--ui-border)}.first\:me-0:first-child{margin-inline-end:calc(var(--spacing)*0)}:is(.\*\:first\:mt-0>*):first-child{margin-top:calc(var(--spacing)*0)}.not-only\:first\:rounded-e-none:not(:only-child):first-child{border-start-end-radius:0;border-end-end-radius:0}.not-only\:first\:rounded-b-none:not(:only-child):first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}:is(.\*\:last\:mb-0>*):last-child{margin-bottom:calc(var(--spacing)*0)}.not-only\:last\:rounded-s-none:not(:only-child):last-child{border-start-start-radius:0;border-end-start-radius:0}.not-only\:last\:rounded-t-none:not(:only-child):last-child{border-top-left-radius:0;border-top-right-radius:0}.even\:bg-elevated:nth-child(2n){background-color:var(--ui-bg-elevated)}.first-of-type\:rounded-s-lg:first-of-type{border-start-start-radius:calc(var(--ui-radius)*2);border-end-start-radius:calc(var(--ui-radius)*2)}.first-of-type\:rounded-t-lg:first-of-type{border-top-left-radius:calc(var(--ui-radius)*2);border-top-right-radius:calc(var(--ui-radius)*2)}.last-of-type\:rounded-e-lg:last-of-type{border-start-end-radius:calc(var(--ui-radius)*2);border-end-end-radius:calc(var(--ui-radius)*2)}.last-of-type\:rounded-b-lg:last-of-type{border-bottom-right-radius:calc(var(--ui-radius)*2);border-bottom-left-radius:calc(var(--ui-radius)*2)}@media (hover:hover){.hover\:scale-115:hover{--tw-scale-x:115%;--tw-scale-y:115%;--tw-scale-z:115%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-accented\!:hover{background-color:var(--ui-bg-accented)!important}.hover\:bg-accented\/75:hover{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accented\/75:hover{background-color:color-mix(in oklab,var(--ui-bg-accented)75%,transparent)}}.hover\:bg-accented\/80:hover{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accented\/80:hover{background-color:color-mix(in oklab,var(--ui-bg-accented)80%,transparent)}}.hover\:bg-default\/10:hover{background-color:var(--ui-bg)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-default\/10:hover{background-color:color-mix(in oklab,var(--ui-bg)10%,transparent)}}.hover\:bg-elevated:hover,.hover\:bg-elevated\/25:hover{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-elevated\/25:hover{background-color:color-mix(in oklab,var(--ui-bg-elevated)25%,transparent)}}.hover\:bg-elevated\/50:hover{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-elevated\/50:hover{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.hover\:bg-error\/10:hover{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/10:hover{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.hover\:bg-error\/15:hover{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/15:hover{background-color:color-mix(in oklab,var(--ui-error)15%,transparent)}}.hover\:bg-error\/75:hover{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/75:hover{background-color:color-mix(in oklab,var(--ui-error)75%,transparent)}}.hover\:bg-error\/90:hover{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/90:hover{background-color:color-mix(in oklab,var(--ui-error)90%,transparent)}}.hover\:bg-info\/10:hover{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-info\/10:hover{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.hover\:bg-info\/15:hover{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-info\/15:hover{background-color:color-mix(in oklab,var(--ui-info)15%,transparent)}}.hover\:bg-info\/75:hover{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-info\/75:hover{background-color:color-mix(in oklab,var(--ui-info)75%,transparent)}}.hover\:bg-info\/90:hover{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-info\/90:hover{background-color:color-mix(in oklab,var(--ui-info)90%,transparent)}}.hover\:bg-inverted\/90:hover{background-color:var(--ui-bg-inverted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-inverted\/90:hover{background-color:color-mix(in oklab,var(--ui-bg-inverted)90%,transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.hover\:bg-primary\/15:hover{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/15:hover{background-color:color-mix(in oklab,var(--ui-primary)15%,transparent)}}.hover\:bg-primary\/75:hover{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/75:hover{background-color:color-mix(in oklab,var(--ui-primary)75%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--ui-primary)90%,transparent)}}.hover\:bg-secondary\/10:hover{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/10:hover{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.hover\:bg-secondary\/15:hover{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/15:hover{background-color:color-mix(in oklab,var(--ui-secondary)15%,transparent)}}.hover\:bg-secondary\/75:hover{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/75:hover{background-color:color-mix(in oklab,var(--ui-secondary)75%,transparent)}}.hover\:bg-secondary\/90:hover{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--ui-secondary)90%,transparent)}}.hover\:bg-success\/10:hover{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-success\/10:hover{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.hover\:bg-success\/15:hover{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-success\/15:hover{background-color:color-mix(in oklab,var(--ui-success)15%,transparent)}}.hover\:bg-success\/75:hover{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-success\/75:hover{background-color:color-mix(in oklab,var(--ui-success)75%,transparent)}}.hover\:bg-success\/90:hover{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-success\/90:hover{background-color:color-mix(in oklab,var(--ui-success)90%,transparent)}}.hover\:bg-warning\/10:hover{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/10:hover{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.hover\:bg-warning\/15:hover{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/15:hover{background-color:color-mix(in oklab,var(--ui-warning)15%,transparent)}}.hover\:bg-warning\/75:hover{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/75:hover{background-color:color-mix(in oklab,var(--ui-warning)75%,transparent)}}.hover\:bg-warning\/90:hover{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/90:hover{background-color:color-mix(in oklab,var(--ui-warning)90%,transparent)}}.hover\:text-default:hover{color:var(--ui-text)}.hover\:text-error\/75:hover{color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:text-error\/75:hover{color:color-mix(in oklab,var(--ui-error)75%,transparent)}}.hover\:text-highlighted:hover{color:var(--ui-text-highlighted)}.hover\:text-info\/75:hover{color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:text-info\/75:hover{color:color-mix(in oklab,var(--ui-info)75%,transparent)}}.hover\:text-primary\/75:hover{color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:text-primary\/75:hover{color:color-mix(in oklab,var(--ui-primary)75%,transparent)}}.hover\:text-secondary\/75:hover{color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:text-secondary\/75:hover{color:color-mix(in oklab,var(--ui-secondary)75%,transparent)}}.hover\:text-success\/75:hover{color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:text-success\/75:hover{color:color-mix(in oklab,var(--ui-success)75%,transparent)}}.hover\:text-warning\/75:hover{color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:text-warning\/75:hover{color:color-mix(in oklab,var(--ui-warning)75%,transparent)}}.hover\:decoration-neutral-500:hover{-webkit-text-decoration-color:var(--ui-color-neutral-500);-webkit-text-decoration-color:var(--ui-color-neutral-500);-webkit-text-decoration-color:var(--ui-color-neutral-500);text-decoration-color:var(--ui-color-neutral-500)}.hover\:ring-accented:hover{--tw-ring-color:var(--ui-border-accented)}.hover\:not-data-\[selected\]\:bg-error\/10:hover:not([data-selected]){background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-error\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-error\/20:hover:not([data-selected]){background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-error\/20:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-error)20%,transparent)}}.hover\:not-data-\[selected\]\:bg-info\/10:hover:not([data-selected]){background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-info\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-info\/20:hover:not([data-selected]){background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-info\/20:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-info)20%,transparent)}}.hover\:not-data-\[selected\]\:bg-inverted\/10:hover:not([data-selected]){background-color:var(--ui-bg-inverted)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-inverted\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-bg-inverted)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-primary\/10:hover:not([data-selected]){background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-primary\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-primary\/20:hover:not([data-selected]){background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-primary\/20:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-primary)20%,transparent)}}.hover\:not-data-\[selected\]\:bg-secondary\/10:hover:not([data-selected]){background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-secondary\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-secondary\/20:hover:not([data-selected]){background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-secondary\/20:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-secondary)20%,transparent)}}.hover\:not-data-\[selected\]\:bg-success\/10:hover:not([data-selected]){background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-success\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-success\/20:hover:not([data-selected]){background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-success\/20:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-success)20%,transparent)}}.hover\:not-data-\[selected\]\:bg-warning\/10:hover:not([data-selected]){background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-warning\/10:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.hover\:not-data-\[selected\]\:bg-warning\/20:hover:not([data-selected]){background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.hover\:not-data-\[selected\]\:bg-warning\/20:hover:not([data-selected]){background-color:color-mix(in oklab,var(--ui-warning)20%,transparent)}}.hover\:before\:bg-elevated\/50:hover:before{content:var(--tw-content);background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.hover\:before\:bg-elevated\/50:hover:before{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}}.focus\:bg-accented:focus,.focus\:bg-accented\/50:focus{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-accented\/50:focus{background-color:color-mix(in oklab,var(--ui-bg-accented)50%,transparent)}}.focus\:bg-elevated:focus{background-color:var(--ui-bg-elevated)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-error:focus{--tw-ring-color:var(--ui-error)}.focus\:ring-info:focus{--tw-ring-color:var(--ui-info)}.focus\:ring-inverted:focus{--tw-ring-color:var(--ui-border-inverted)}.focus\:ring-primary:focus{--tw-ring-color:var(--ui-primary)}.focus\:ring-secondary:focus{--tw-ring-color:var(--ui-secondary)}.focus\:ring-success:focus{--tw-ring-color:var(--ui-success)}.focus\:ring-warning:focus{--tw-ring-color:var(--ui-warning)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:focus\:bg-accented:is(:where(.group):hover *):focus{background-color:var(--ui-bg-accented)}}.focus-visible\:z-\[1\]:focus-visible{z-index:1}.focus-visible\:bg-accented\/75:focus-visible{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-accented\/75:focus-visible{background-color:color-mix(in oklab,var(--ui-bg-accented)75%,transparent)}}.focus-visible\:bg-default\/10:focus-visible{background-color:var(--ui-bg)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-default\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-bg)10%,transparent)}}.focus-visible\:bg-elevated:focus-visible{background-color:var(--ui-bg-elevated)}.focus-visible\:bg-error\/10:focus-visible{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-error\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.focus-visible\:bg-error\/15:focus-visible{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-error\/15:focus-visible{background-color:color-mix(in oklab,var(--ui-error)15%,transparent)}}.focus-visible\:bg-info\/10:focus-visible{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-info\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.focus-visible\:bg-info\/15:focus-visible{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-info\/15:focus-visible{background-color:color-mix(in oklab,var(--ui-info)15%,transparent)}}.focus-visible\:bg-primary\/10:focus-visible{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-primary\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.focus-visible\:bg-primary\/15:focus-visible{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-primary\/15:focus-visible{background-color:color-mix(in oklab,var(--ui-primary)15%,transparent)}}.focus-visible\:bg-secondary\/10:focus-visible{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-secondary\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.focus-visible\:bg-secondary\/15:focus-visible{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-secondary\/15:focus-visible{background-color:color-mix(in oklab,var(--ui-secondary)15%,transparent)}}.focus-visible\:bg-success\/10:focus-visible{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-success\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.focus-visible\:bg-success\/15:focus-visible{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-success\/15:focus-visible{background-color:color-mix(in oklab,var(--ui-success)15%,transparent)}}.focus-visible\:bg-warning\/10:focus-visible{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-warning\/10:focus-visible{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.focus-visible\:bg-warning\/15:focus-visible{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-warning\/15:focus-visible{background-color:color-mix(in oklab,var(--ui-warning)15%,transparent)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-error:focus-visible{--tw-ring-color:var(--ui-error)}.focus-visible\:ring-info:focus-visible{--tw-ring-color:var(--ui-info)}.focus-visible\:ring-inverted:focus-visible{--tw-ring-color:var(--ui-border-inverted)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--ui-primary)}.focus-visible\:ring-secondary:focus-visible{--tw-ring-color:var(--ui-secondary)}.focus-visible\:ring-success:focus-visible{--tw-ring-color:var(--ui-success)}.focus-visible\:ring-warning:focus-visible{--tw-ring-color:var(--ui-warning)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-error:focus-visible,.focus-visible\:outline-error\/50:focus-visible{outline-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-error\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-error)50%,transparent)}}.focus-visible\:outline-info:focus-visible,.focus-visible\:outline-info\/50:focus-visible{outline-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-info\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-info)50%,transparent)}}.focus-visible\:outline-inverted:focus-visible,.focus-visible\:outline-inverted\/50:focus-visible{outline-color:var(--ui-border-inverted)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-inverted\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-border-inverted)50%,transparent)}}.focus-visible\:outline-primary:focus-visible,.focus-visible\:outline-primary\/50:focus-visible{outline-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-primary\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-primary)50%,transparent)}}.focus-visible\:outline-secondary:focus-visible,.focus-visible\:outline-secondary\/50:focus-visible{outline-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-secondary\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-secondary)50%,transparent)}}.focus-visible\:outline-success:focus-visible,.focus-visible\:outline-success\/50:focus-visible{outline-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-success\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-success)50%,transparent)}}.focus-visible\:outline-warning:focus-visible,.focus-visible\:outline-warning\/50:focus-visible{outline-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:outline-warning\/50:focus-visible{outline-color:color-mix(in oklab,var(--ui-warning)50%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:before\:ring-2:focus-visible:before{content:var(--tw-content);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:before\:ring-error:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-error)}.focus-visible\:before\:ring-info:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-info)}.focus-visible\:before\:ring-inverted:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-border-inverted)}.focus-visible\:before\:ring-primary:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-primary)}.focus-visible\:before\:ring-secondary:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-secondary)}.focus-visible\:before\:ring-success:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-success)}.focus-visible\:before\:ring-warning:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--ui-warning)}.focus-visible\:before\:ring-inset:focus-visible:before{content:var(--tw-content);--tw-ring-inset:inset}.active\:bg-accented\/75:active{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.active\:bg-accented\/75:active{background-color:color-mix(in oklab,var(--ui-bg-accented)75%,transparent)}}.active\:bg-elevated:active{background-color:var(--ui-bg-elevated)}.active\:bg-error\/10:active{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.active\:bg-error\/10:active{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.active\:bg-error\/15:active{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.active\:bg-error\/15:active{background-color:color-mix(in oklab,var(--ui-error)15%,transparent)}}.active\:bg-error\/75:active{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.active\:bg-error\/75:active{background-color:color-mix(in oklab,var(--ui-error)75%,transparent)}}.active\:bg-info\/10:active{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.active\:bg-info\/10:active{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.active\:bg-info\/15:active{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.active\:bg-info\/15:active{background-color:color-mix(in oklab,var(--ui-info)15%,transparent)}}.active\:bg-info\/75:active{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.active\:bg-info\/75:active{background-color:color-mix(in oklab,var(--ui-info)75%,transparent)}}.active\:bg-inverted\/90:active{background-color:var(--ui-bg-inverted)}@supports (color:color-mix(in lab, red, red)){.active\:bg-inverted\/90:active{background-color:color-mix(in oklab,var(--ui-bg-inverted)90%,transparent)}}.active\:bg-primary\/10:active{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-primary\/10:active{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.active\:bg-primary\/15:active{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-primary\/15:active{background-color:color-mix(in oklab,var(--ui-primary)15%,transparent)}}.active\:bg-primary\/75:active{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-primary\/75:active{background-color:color-mix(in oklab,var(--ui-primary)75%,transparent)}}.active\:bg-secondary\/10:active{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-secondary\/10:active{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.active\:bg-secondary\/15:active{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-secondary\/15:active{background-color:color-mix(in oklab,var(--ui-secondary)15%,transparent)}}.active\:bg-secondary\/75:active{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-secondary\/75:active{background-color:color-mix(in oklab,var(--ui-secondary)75%,transparent)}}.active\:bg-success\/10:active{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.active\:bg-success\/10:active{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.active\:bg-success\/15:active{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.active\:bg-success\/15:active{background-color:color-mix(in oklab,var(--ui-success)15%,transparent)}}.active\:bg-success\/75:active{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.active\:bg-success\/75:active{background-color:color-mix(in oklab,var(--ui-success)75%,transparent)}}.active\:bg-warning\/10:active{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.active\:bg-warning\/10:active{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.active\:bg-warning\/15:active{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.active\:bg-warning\/15:active{background-color:color-mix(in oklab,var(--ui-warning)15%,transparent)}}.active\:bg-warning\/75:active{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.active\:bg-warning\/75:active{background-color:color-mix(in oklab,var(--ui-warning)75%,transparent)}}.active\:text-default:active{color:var(--ui-text)}.active\:text-error\/75:active{color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.active\:text-error\/75:active{color:color-mix(in oklab,var(--ui-error)75%,transparent)}}.active\:text-info\/75:active{color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.active\:text-info\/75:active{color:color-mix(in oklab,var(--ui-info)75%,transparent)}}.active\:text-primary\/75:active{color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.active\:text-primary\/75:active{color:color-mix(in oklab,var(--ui-primary)75%,transparent)}}.active\:text-secondary\/75:active{color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.active\:text-secondary\/75:active{color:color-mix(in oklab,var(--ui-secondary)75%,transparent)}}.active\:text-success\/75:active{color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.active\:text-success\/75:active{color:color-mix(in oklab,var(--ui-success)75%,transparent)}}.active\:text-warning\/75:active{color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.active\:text-warning\/75:active{color:color-mix(in oklab,var(--ui-warning)75%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-default:disabled{background-color:var(--ui-bg)}.disabled\:bg-elevated:disabled,.disabled\:bg-elevated\/50:disabled{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-elevated\/50:disabled{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.disabled\:bg-error:disabled,.disabled\:bg-error\/10:disabled{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-error\/10:disabled{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.disabled\:bg-info:disabled,.disabled\:bg-info\/10:disabled{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-info\/10:disabled{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.disabled\:bg-inverted:disabled{background-color:var(--ui-bg-inverted)}.disabled\:bg-primary:disabled,.disabled\:bg-primary\/10:disabled{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-primary\/10:disabled{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.disabled\:bg-secondary:disabled,.disabled\:bg-secondary\/10:disabled{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-secondary\/10:disabled{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.disabled\:bg-success:disabled,.disabled\:bg-success\/10:disabled{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-success\/10:disabled{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:bg-warning:disabled,.disabled\:bg-warning\/10:disabled{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-warning\/10:disabled{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.disabled\:text-error:disabled{color:var(--ui-error)}.disabled\:text-info:disabled{color:var(--ui-info)}.disabled\:text-muted:disabled{color:var(--ui-text-muted)}.disabled\:text-primary:disabled{color:var(--ui-primary)}.disabled\:text-secondary:disabled{color:var(--ui-secondary)}.disabled\:text-success:disabled{color:var(--ui-success)}.disabled\:text-warning:disabled{color:var(--ui-warning)}.disabled\:opacity-75:disabled{opacity:.75}@media (hover:hover){.hover\:disabled\:bg-transparent:hover:disabled{background-color:#0000}}.has-focus\:bg-elevated:has(:focus){background-color:var(--ui-bg-elevated)}.has-focus-visible\:z-\[1\]:has(:focus-visible){z-index:1}.has-focus-visible\:ring-2:has(:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-focus-visible\:ring-error:has(:focus-visible){--tw-ring-color:var(--ui-error)}.has-focus-visible\:ring-info:has(:focus-visible){--tw-ring-color:var(--ui-info)}.has-focus-visible\:ring-inverted:has(:focus-visible){--tw-ring-color:var(--ui-border-inverted)}.has-focus-visible\:ring-primary:has(:focus-visible){--tw-ring-color:var(--ui-primary)}.has-focus-visible\:ring-secondary:has(:focus-visible){--tw-ring-color:var(--ui-secondary)}.has-focus-visible\:ring-success:has(:focus-visible){--tw-ring-color:var(--ui-success)}.has-focus-visible\:ring-warning:has(:focus-visible){--tw-ring-color:var(--ui-warning)}.has-focus-visible\:ring-inset:has(:focus-visible){--tw-ring-inset:inset}.has-data-\[state\=checked\]\:z-\[1\]:has([data-state=checked]){z-index:1}:is(.has-data-\[state\=checked\]\:border-error:has([data-state=checked]),.has-data-\[state\=checked\]\:border-error\/50:has([data-state=checked])){border-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-error\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-error)50%,transparent)}}:is(.has-data-\[state\=checked\]\:border-info:has([data-state=checked]),.has-data-\[state\=checked\]\:border-info\/50:has([data-state=checked])){border-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-info\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-info)50%,transparent)}}:is(.has-data-\[state\=checked\]\:border-inverted:has([data-state=checked]),.has-data-\[state\=checked\]\:border-inverted\/50:has([data-state=checked])){border-color:var(--ui-border-inverted)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-inverted\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-border-inverted)50%,transparent)}}:is(.has-data-\[state\=checked\]\:border-primary:has([data-state=checked]),.has-data-\[state\=checked\]\:border-primary\/50:has([data-state=checked])){border-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-primary\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-primary)50%,transparent)}}:is(.has-data-\[state\=checked\]\:border-secondary:has([data-state=checked]),.has-data-\[state\=checked\]\:border-secondary\/50:has([data-state=checked])){border-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-secondary\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-secondary)50%,transparent)}}:is(.has-data-\[state\=checked\]\:border-success:has([data-state=checked]),.has-data-\[state\=checked\]\:border-success\/50:has([data-state=checked])){border-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-success\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-success)50%,transparent)}}:is(.has-data-\[state\=checked\]\:border-warning:has([data-state=checked]),.has-data-\[state\=checked\]\:border-warning\/50:has([data-state=checked])){border-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:border-warning\/50:has([data-state=checked]){border-color:color-mix(in oklab,var(--ui-warning)50%,transparent)}}.has-data-\[state\=checked\]\:bg-elevated:has([data-state=checked]){background-color:var(--ui-bg-elevated)}.has-data-\[state\=checked\]\:bg-error\/10:has([data-state=checked]){background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-error\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.has-data-\[state\=checked\]\:bg-info\/10:has([data-state=checked]){background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-info\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.has-data-\[state\=checked\]\:bg-primary\/10:has([data-state=checked]){background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-primary\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.has-data-\[state\=checked\]\:bg-secondary\/10:has([data-state=checked]){background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-secondary\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.has-data-\[state\=checked\]\:bg-success\/10:has([data-state=checked]){background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-success\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.has-data-\[state\=checked\]\:bg-warning\/10:has([data-state=checked]){background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-warning\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:bg-default[aria-disabled=true]{background-color:var(--ui-bg)}.aria-disabled\:bg-elevated[aria-disabled=true]{background-color:var(--ui-bg-elevated)}.aria-disabled\:bg-error[aria-disabled=true],.aria-disabled\:bg-error\/10[aria-disabled=true]{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.aria-disabled\:bg-error\/10[aria-disabled=true]{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.aria-disabled\:bg-info[aria-disabled=true],.aria-disabled\:bg-info\/10[aria-disabled=true]{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.aria-disabled\:bg-info\/10[aria-disabled=true]{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.aria-disabled\:bg-inverted[aria-disabled=true]{background-color:var(--ui-bg-inverted)}.aria-disabled\:bg-primary[aria-disabled=true],.aria-disabled\:bg-primary\/10[aria-disabled=true]{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.aria-disabled\:bg-primary\/10[aria-disabled=true]{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.aria-disabled\:bg-secondary[aria-disabled=true],.aria-disabled\:bg-secondary\/10[aria-disabled=true]{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.aria-disabled\:bg-secondary\/10[aria-disabled=true]{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.aria-disabled\:bg-success[aria-disabled=true],.aria-disabled\:bg-success\/10[aria-disabled=true]{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.aria-disabled\:bg-success\/10[aria-disabled=true]{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.aria-disabled\:bg-transparent[aria-disabled=true]{background-color:#0000}.aria-disabled\:bg-warning[aria-disabled=true],.aria-disabled\:bg-warning\/10[aria-disabled=true]{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.aria-disabled\:bg-warning\/10[aria-disabled=true]{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.aria-disabled\:text-error[aria-disabled=true]{color:var(--ui-error)}.aria-disabled\:text-info[aria-disabled=true]{color:var(--ui-info)}.aria-disabled\:text-muted[aria-disabled=true]{color:var(--ui-text-muted)}.aria-disabled\:text-primary[aria-disabled=true]{color:var(--ui-primary)}.aria-disabled\:text-secondary[aria-disabled=true]{color:var(--ui-secondary)}.aria-disabled\:text-success[aria-disabled=true]{color:var(--ui-success)}.aria-disabled\:text-warning[aria-disabled=true]{color:var(--ui-warning)}.aria-disabled\:opacity-75[aria-disabled=true]{opacity:.75}@media (hover:hover){.hover\:aria-disabled\:bg-transparent:hover[aria-disabled=true]{background-color:#0000}}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:text-muted[data-disabled]{color:var(--ui-text-muted)}.data-disabled\:opacity-75[data-disabled]{opacity:.75}.data-highlighted\:text-error[data-highlighted]{color:var(--ui-error)}.data-highlighted\:text-highlighted[data-highlighted]{color:var(--ui-text-highlighted)}.data-highlighted\:text-info[data-highlighted]{color:var(--ui-info)}.data-highlighted\:text-primary[data-highlighted]{color:var(--ui-primary)}.data-highlighted\:text-secondary[data-highlighted]{color:var(--ui-secondary)}.data-highlighted\:text-success[data-highlighted]{color:var(--ui-success)}.data-highlighted\:text-warning[data-highlighted]{color:var(--ui-warning)}.data-highlighted\:not-data-disabled\:text-highlighted[data-highlighted]:not([data-disabled]){color:var(--ui-text-highlighted)}.data-highlighted\:before\:bg-elevated\/50[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-elevated\/50[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.data-highlighted\:before\:bg-error\/10[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-error\/10[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.data-highlighted\:before\:bg-info\/10[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-info\/10[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.data-highlighted\:before\:bg-primary\/10[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-primary\/10[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.data-highlighted\:before\:bg-secondary\/10[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-secondary\/10[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.data-highlighted\:before\:bg-success\/10[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-success\/10[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.data-highlighted\:before\:bg-warning\/10[data-highlighted]:before{content:var(--tw-content);background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:before\:bg-warning\/10[data-highlighted]:before{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.data-highlighted\:not-data-disabled\:before\:bg-elevated\/50[data-highlighted]:not([data-disabled]):before{content:var(--tw-content);background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.data-highlighted\:not-data-disabled\:before\:bg-elevated\/50[data-highlighted]:not([data-disabled]):before{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.data-invalid\:text-error[data-invalid]{color:var(--ui-error)}.data-placeholder\:text-dimmed[data-placeholder]{color:var(--ui-text-dimmed)}.data-today\:font-semibold[data-today]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-today\:not-data-\[selected\]\:text-error[data-today]:not([data-selected]){color:var(--ui-error)}.data-today\:not-data-\[selected\]\:text-highlighted[data-today]:not([data-selected]){color:var(--ui-text-highlighted)}.data-today\:not-data-\[selected\]\:text-info[data-today]:not([data-selected]){color:var(--ui-info)}.data-today\:not-data-\[selected\]\:text-primary[data-today]:not([data-selected]){color:var(--ui-primary)}.data-today\:not-data-\[selected\]\:text-secondary[data-today]:not([data-selected]){color:var(--ui-secondary)}.data-today\:not-data-\[selected\]\:text-success[data-today]:not([data-selected]){color:var(--ui-success)}.data-today\:not-data-\[selected\]\:text-warning[data-today]:not([data-selected]){color:var(--ui-warning)}.data-unavailable\:pointer-events-none[data-unavailable]{pointer-events:none}.data-unavailable\:text-muted[data-unavailable]{color:var(--ui-text-muted)}.data-unavailable\:line-through[data-unavailable]{text-decoration-line:line-through}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[disabled\]\:opacity-75[data-disabled]{opacity:.75}.data-\[dragging\=true\]\:bg-elevated\/25[data-dragging=true]{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.data-\[dragging\=true\]\:bg-elevated\/25[data-dragging=true]{background-color:color-mix(in oklab,var(--ui-bg-elevated)25%,transparent)}}.data-\[expanded\=true\]\:h-\(--height\)[data-expanded=true]{height:var(--height)}:is(.data-\[front\=false\]\:\*\:transition-opacity[data-front=false]>*){transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:is(.data-\[front\=false\]\:\*\:duration-100[data-front=false]>*){--tw-duration:.1s;transition-duration:.1s}.data-\[expanded\=false\]\:data-\[front\=false\]\:h-\(--front-height\)[data-expanded=false][data-front=false]{height:var(--front-height)}:is(.data-\[expanded\=false\]\:data-\[front\=false\]\:\*\:opacity-0[data-expanded=false][data-front=false]>*){opacity:0}.data-\[highlighted\]\:bg-error\/10[data-highlighted]{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-error\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.data-\[highlighted\]\:bg-error\/20[data-highlighted]{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-error\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-error)20%,transparent)}}.data-\[highlighted\]\:bg-info\/10[data-highlighted]{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-info\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.data-\[highlighted\]\:bg-info\/20[data-highlighted]{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-info\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-info)20%,transparent)}}.data-\[highlighted\]\:bg-inverted\/10[data-highlighted]{background-color:var(--ui-bg-inverted)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-inverted\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-bg-inverted)10%,transparent)}}.data-\[highlighted\]\:bg-inverted\/20[data-highlighted]{background-color:var(--ui-bg-inverted)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-inverted\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-bg-inverted)20%,transparent)}}.data-\[highlighted\]\:bg-primary\/10[data-highlighted]{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-primary\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.data-\[highlighted\]\:bg-primary\/20[data-highlighted]{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-primary\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-primary)20%,transparent)}}.data-\[highlighted\]\:bg-secondary\/10[data-highlighted]{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-secondary\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.data-\[highlighted\]\:bg-secondary\/20[data-highlighted]{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-secondary\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-secondary)20%,transparent)}}.data-\[highlighted\]\:bg-success\/10[data-highlighted]{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-success\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.data-\[highlighted\]\:bg-success\/20[data-highlighted]{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-success\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-success)20%,transparent)}}.data-\[highlighted\]\:bg-warning\/10[data-highlighted]{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-warning\/10[data-highlighted]{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.data-\[highlighted\]\:bg-warning\/20[data-highlighted]{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-warning\/20[data-highlighted]{background-color:color-mix(in oklab,var(--ui-warning)20%,transparent)}}.data-\[motion\=from-end\]\:animate-\[enter-from-right_200ms_ease\][data-motion=from-end]{animation:.2s enter-from-right}.data-\[motion\=from-start\]\:animate-\[enter-from-left_200ms_ease\][data-motion=from-start]{animation:.2s enter-from-left}.data-\[motion\=to-end\]\:animate-\[exit-to-right_200ms_ease\][data-motion=to-end]{animation:.2s exit-to-right}.data-\[motion\=to-start\]\:animate-\[exit-to-left_200ms_ease\][data-motion=to-start]{animation:.2s exit-to-left}.data-\[outside-view\]\:text-muted[data-outside-view]{color:var(--ui-text-muted)}.data-\[pinned\=left\]\:left-0[data-pinned=left]{left:calc(var(--spacing)*0)}.data-\[pinned\=right\]\:right-0[data-pinned=right]{right:calc(var(--spacing)*0)}.data-\[segment\=day\]\:w-6[data-segment=day]{width:calc(var(--spacing)*6)}.data-\[segment\=day\]\:w-7[data-segment=day]{width:calc(var(--spacing)*7)}.data-\[segment\=day\]\:w-8[data-segment=day]{width:calc(var(--spacing)*8)}.data-\[segment\=literal\]\:text-muted[data-segment=literal]{color:var(--ui-text-muted)}.data-\[segment\=month\]\:w-6[data-segment=month]{width:calc(var(--spacing)*6)}.data-\[segment\=month\]\:w-7[data-segment=month]{width:calc(var(--spacing)*7)}.data-\[segment\=month\]\:w-8[data-segment=month]{width:calc(var(--spacing)*8)}.data-\[segment\=year\]\:w-9[data-segment=year]{width:calc(var(--spacing)*9)}.data-\[segment\=year\]\:w-11[data-segment=year]{width:calc(var(--spacing)*11)}.data-\[segment\=year\]\:w-13[data-segment=year]{width:calc(var(--spacing)*13)}.data-\[selected\]\:bg-default[data-selected]{background-color:var(--ui-bg)}.data-\[selected\]\:bg-elevated[data-selected]{background-color:var(--ui-bg-elevated)}.data-\[selected\]\:bg-error[data-selected],.data-\[selected\]\:bg-error\/10[data-selected]{background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:bg-error\/10[data-selected]{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.data-\[selected\]\:bg-info[data-selected],.data-\[selected\]\:bg-info\/10[data-selected]{background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:bg-info\/10[data-selected]{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.data-\[selected\]\:bg-inverted[data-selected]{background-color:var(--ui-bg-inverted)}.data-\[selected\]\:bg-primary[data-selected],.data-\[selected\]\:bg-primary\/10[data-selected]{background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:bg-primary\/10[data-selected]{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.data-\[selected\]\:bg-secondary[data-selected],.data-\[selected\]\:bg-secondary\/10[data-selected]{background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:bg-secondary\/10[data-selected]{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.data-\[selected\]\:bg-success[data-selected],.data-\[selected\]\:bg-success\/10[data-selected]{background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:bg-success\/10[data-selected]{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.data-\[selected\]\:bg-warning[data-selected],.data-\[selected\]\:bg-warning\/10[data-selected]{background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:bg-warning\/10[data-selected]{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.data-\[selected\]\:text-default[data-selected]{color:var(--ui-text)}.data-\[selected\]\:text-error[data-selected]{color:var(--ui-error)}.data-\[selected\]\:text-info[data-selected]{color:var(--ui-info)}.data-\[selected\]\:text-inverted[data-selected]{color:var(--ui-text-inverted)}.data-\[selected\]\:text-primary[data-selected]{color:var(--ui-primary)}.data-\[selected\]\:text-secondary[data-selected]{color:var(--ui-secondary)}.data-\[selected\]\:text-success[data-selected]{color:var(--ui-success)}.data-\[selected\]\:text-warning[data-selected]{color:var(--ui-warning)}.data-\[selected\]\:ring[data-selected]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[selected\]\:ring-accented[data-selected]{--tw-ring-color:var(--ui-border-accented)}.data-\[selected\]\:ring-error\/25[data-selected]{--tw-ring-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-error\/25[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-error)25%,transparent)}}.data-\[selected\]\:ring-error\/50[data-selected]{--tw-ring-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-error\/50[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-error)50%,transparent)}}.data-\[selected\]\:ring-info\/25[data-selected]{--tw-ring-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-info\/25[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-info)25%,transparent)}}.data-\[selected\]\:ring-info\/50[data-selected]{--tw-ring-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-info\/50[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-info)50%,transparent)}}.data-\[selected\]\:ring-primary\/25[data-selected]{--tw-ring-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-primary\/25[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-primary)25%,transparent)}}.data-\[selected\]\:ring-primary\/50[data-selected]{--tw-ring-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-primary\/50[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-primary)50%,transparent)}}.data-\[selected\]\:ring-secondary\/25[data-selected]{--tw-ring-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-secondary\/25[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-secondary)25%,transparent)}}.data-\[selected\]\:ring-secondary\/50[data-selected]{--tw-ring-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-secondary\/50[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-secondary)50%,transparent)}}.data-\[selected\]\:ring-success\/25[data-selected]{--tw-ring-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-success\/25[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-success)25%,transparent)}}.data-\[selected\]\:ring-success\/50[data-selected]{--tw-ring-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-success\/50[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-success)50%,transparent)}}.data-\[selected\]\:ring-warning\/25[data-selected]{--tw-ring-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-warning\/25[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-warning)25%,transparent)}}.data-\[selected\]\:ring-warning\/50[data-selected]{--tw-ring-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\]\:ring-warning\/50[data-selected]{--tw-ring-color:color-mix(in oklab,var(--ui-warning)50%,transparent)}}.data-\[selected\]\:ring-inset[data-selected]{--tw-ring-inset:inset}.data-\[selected\=true\]\:bg-elevated\/50[data-selected=true]{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.data-\[selected\=true\]\:bg-elevated\/50[data-selected=true]{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.data-\[state\=\\\"active\\\"\]\:bg-accented[data-state=\"active\"]{background-color:var(--ui-bg-accented)}.data-\[state\=active\]\:bg-inverted[data-state=active]{background-color:var(--ui-bg-inverted)}.data-\[state\=active\]\:text-error[data-state=active]{color:var(--ui-error)}.data-\[state\=active\]\:text-highlighted[data-state=active]{color:var(--ui-text-highlighted)}.data-\[state\=active\]\:text-info[data-state=active]{color:var(--ui-info)}.data-\[state\=active\]\:text-inverted[data-state=active]{color:var(--ui-text-inverted)}.data-\[state\=active\]\:text-primary[data-state=active]{color:var(--ui-primary)}.data-\[state\=active\]\:text-secondary[data-state=active]{color:var(--ui-secondary)}.data-\[state\=active\]\:text-success[data-state=active]{color:var(--ui-success)}.data-\[state\=active\]\:text-warning[data-state=active]{color:var(--ui-warning)}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-3\.5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*3.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-4\.5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-error[data-state=checked]{background-color:var(--ui-error)}.data-\[state\=checked\]\:bg-info[data-state=checked]{background-color:var(--ui-info)}.data-\[state\=checked\]\:bg-inverted[data-state=checked]{background-color:var(--ui-bg-inverted)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--ui-primary)}.data-\[state\=checked\]\:bg-secondary[data-state=checked]{background-color:var(--ui-secondary)}.data-\[state\=checked\]\:bg-success[data-state=checked]{background-color:var(--ui-success)}.data-\[state\=checked\]\:bg-warning[data-state=checked]{background-color:var(--ui-warning)}.data-\[state\=closed\]\:animate-\[accordion-up_200ms_ease-out\][data-state=closed]{animation:.2s ease-out accordion-up}.data-\[state\=closed\]\:animate-\[collapsible-up_200ms_ease-out\][data-state=closed]{animation:.2s ease-out collapsible-up}.data-\[state\=closed\]\:animate-\[fade-out_200ms_ease-in\][data-state=closed]{animation:.2s ease-in fade-out}.data-\[state\=closed\]\:animate-\[scale-out_100ms_ease-in\][data-state=closed]{animation:.1s ease-in scale-out}.data-\[state\=closed\]\:animate-\[scale-out_200ms_ease-in\][data-state=closed]{animation:.2s ease-in scale-out}.data-\[state\=closed\]\:animate-\[slide-out-to-bottom_200ms_ease-in-out\][data-state=closed]{animation:.2s ease-in-out slide-out-to-bottom}.data-\[state\=closed\]\:animate-\[slide-out-to-left_200ms_ease-in-out\][data-state=closed]{animation:.2s ease-in-out slide-out-to-left}.data-\[state\=closed\]\:animate-\[slide-out-to-right_200ms_ease-in-out\][data-state=closed]{animation:.2s ease-in-out slide-out-to-right}.data-\[state\=closed\]\:animate-\[slide-out-to-top_200ms_ease-in-out\][data-state=closed]{animation:.2s ease-in-out slide-out-to-top}.data-\[state\=closed\]\:animate-\[toast-closed_200ms_ease-in-out\][data-state=closed]{animation:.2s ease-in-out toast-closed}.data-\[state\=closed\]\:data-\[expanded\=false\]\:data-\[front\=false\]\:animate-\[toast-collapsed-closed_200ms_ease-in-out\][data-state=closed][data-expanded=false][data-front=false]{animation:.2s ease-in-out toast-collapsed-closed}.data-\[state\=delayed-open\]\:animate-\[scale-in_100ms_ease-out\][data-state=delayed-open]{animation:.1s ease-out scale-in}.data-\[state\=hidden\]\:animate-\[fade-out_100ms_ease-in\][data-state=hidden]{animation:.1s ease-in fade-out}.data-\[state\=hidden\]\:opacity-0[data-state=hidden]{opacity:0}.data-\[state\=inactive\]\:text-muted[data-state=inactive]{color:var(--ui-text-muted)}@media (hover:hover){.hover\:data-\[state\=inactive\]\:not-disabled\:text-default:hover[data-state=inactive]:not(:disabled){color:var(--ui-text)}}.data-\[state\=indeterminate\]\:animate-\[carousel-inverse-vertical_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite carousel-inverse-vertical}.data-\[state\=indeterminate\]\:animate-\[carousel-inverse_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite carousel-inverse}.data-\[state\=indeterminate\]\:animate-\[carousel-vertical_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite carousel-vertical}.data-\[state\=indeterminate\]\:animate-\[carousel_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite carousel}.data-\[state\=indeterminate\]\:animate-\[elastic-vertical_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite elastic-vertical}.data-\[state\=indeterminate\]\:animate-\[elastic_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite elastic}.data-\[state\=indeterminate\]\:animate-\[swing-vertical_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite swing-vertical}.data-\[state\=indeterminate\]\:animate-\[swing_2s_ease-in-out_infinite\][data-state=indeterminate]{animation:2s ease-in-out infinite swing}.data-\[state\=open\]\:animate-\[accordion-down_200ms_ease-out\][data-state=open]{animation:.2s ease-out accordion-down}.data-\[state\=open\]\:animate-\[collapsible-down_200ms_ease-out\][data-state=open]{animation:.2s ease-out collapsible-down}.data-\[state\=open\]\:animate-\[fade-in_200ms_ease-out\][data-state=open]{animation:.2s ease-out fade-in}.data-\[state\=open\]\:animate-\[scale-in_100ms_ease-out\][data-state=open]{animation:.1s ease-out scale-in}.data-\[state\=open\]\:animate-\[scale-in_200ms_ease-out\][data-state=open]{animation:.2s ease-out scale-in}.data-\[state\=open\]\:animate-\[slide-in-from-bottom_200ms_ease-in-out\][data-state=open]{animation:.2s ease-in-out slide-in-from-bottom}.data-\[state\=open\]\:animate-\[slide-in-from-left_200ms_ease-in-out\][data-state=open]{animation:.2s ease-in-out slide-in-from-left}.data-\[state\=open\]\:animate-\[slide-in-from-right_200ms_ease-in-out\][data-state=open]{animation:.2s ease-in-out slide-in-from-right}.data-\[state\=open\]\:animate-\[slide-in-from-top_200ms_ease-in-out\][data-state=open]{animation:.2s ease-in-out slide-in-from-top}.data-\[state\=open\]\:bg-accented\/80[data-state=open]{background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accented\/80[data-state=open]{background-color:color-mix(in oklab,var(--ui-bg-accented)80%,transparent)}}.data-\[state\=open\]\:text-highlighted[data-state=open]{color:var(--ui-text-highlighted)}.data-\[state\=open\]\:before\:bg-elevated\/50[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-elevated\/50[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}.data-\[state\=open\]\:before\:bg-error\/10[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-error)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-error\/10[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-error)10%,transparent)}}.data-\[state\=open\]\:before\:bg-info\/10[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-info)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-info\/10[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-info)10%,transparent)}}.data-\[state\=open\]\:before\:bg-primary\/10[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-primary)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-primary\/10[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-primary)10%,transparent)}}.data-\[state\=open\]\:before\:bg-secondary\/10[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-secondary)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-secondary\/10[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-secondary)10%,transparent)}}.data-\[state\=open\]\:before\:bg-success\/10[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-success)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-success\/10[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-success)10%,transparent)}}.data-\[state\=open\]\:before\:bg-warning\/10[data-state=open]:before{content:var(--tw-content);background-color:var(--ui-warning)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:before\:bg-warning\/10[data-state=open]:before{background-color:color-mix(in oklab,var(--ui-warning)10%,transparent)}}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-accented[data-state=unchecked]{background-color:var(--ui-bg-accented)}.data-\[state\=visible\]\:animate-\[fade-in_100ms_ease-out\][data-state=visible]{animation:.1s ease-out fade-in}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=cancel\]\:translate-y-0[data-swipe=cancel]{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=end\]\:translate-x-\(--reka-toast-swipe-end-x\)[data-swipe=end]{--tw-translate-x:var(--reka-toast-swipe-end-x);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=end\]\:translate-y-\(--reka-toast-swipe-end-y\)[data-swipe=end]{--tw-translate-y:var(--reka-toast-swipe-end-y);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=end\]\:animate-\[toast-slide-down_200ms_ease-out\][data-swipe=end]{animation:.2s ease-out toast-slide-down}.data-\[swipe\=end\]\:animate-\[toast-slide-left_200ms_ease-out\][data-swipe=end]{animation:.2s ease-out toast-slide-left}.data-\[swipe\=end\]\:animate-\[toast-slide-right_200ms_ease-out\][data-swipe=end]{animation:.2s ease-out toast-slide-right}.data-\[swipe\=end\]\:animate-\[toast-slide-up_200ms_ease-out\][data-swipe=end]{animation:.2s ease-out toast-slide-up}.data-\[swipe\=move\]\:translate-x-\(--reka-toast-swipe-move-x\)[data-swipe=move]{--tw-translate-x:var(--reka-toast-swipe-move-x);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=move\]\:translate-y-\(--reka-toast-swipe-move-y\)[data-swipe=move]{--tw-translate-y:var(--reka-toast-swipe-move-y);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}@media (width>=40rem){.sm\:-start-12{inset-inline-start:calc(var(--spacing)*-12)}.sm\:-end-12{inset-inline-end:calc(var(--spacing)*-12)}.sm\:-top-12{top:calc(var(--spacing)*-12)}.sm\:-bottom-12{bottom:calc(var(--spacing)*-12)}.sm\:grid{display:grid}.sm\:h-\[28rem\]{height:28rem}.sm\:max-h-\[calc\(100dvh-4rem\)\]{max-height:calc(100dvh - 4rem)}.sm\:w-\(--reka-navigation-menu-viewport-width\){width:var(--reka-navigation-menu-viewport-width)}.sm\:w-96{width:calc(var(--spacing)*96)}.sm\:max-w-3xl{max-width:var(--container-3xl)}.sm\:scroll-mt-6{scroll-margin-top:calc(var(--spacing)*6)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-6{gap:calc(var(--spacing)*6)}.sm\:gap-16{gap:calc(var(--spacing)*16)}:where(.sm\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.sm\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.sm\:gap-y-12{row-gap:calc(var(--spacing)*12)}.sm\:gap-y-24{row-gap:calc(var(--spacing)*24)}.sm\:p-0{padding:calc(var(--spacing)*0)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-12{padding-inline:calc(var(--spacing)*12)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:py-24{padding-block:calc(var(--spacing)*24)}.sm\:py-32{padding-block:calc(var(--spacing)*32)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl\/8{font-size:var(--text-xl);line-height:calc(var(--spacing)*8)}.sm\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.sm\:ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (width>=48rem){.md\:hidden{display:none}.md\:table{display:table}.md\:columns-2{columns:2}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:top-\(--ui-header-height\){top:var(--ui-header-height)}.lg\:z-\[1\]{z-index:1}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-last{order:9999}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:mx-auto{margin-inline:auto}.lg\:-ms-4{margin-inline-start:calc(var(--spacing)*-4)}.lg\:me-0{margin-inline-end:calc(var(--spacing)*0)}.lg\:mt-0{margin-top:calc(var(--spacing)*0)}.lg\:mt-12{margin-top:calc(var(--spacing)*12)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:max-h-\[calc\(100vh-var\(--ui-header-height\)\)\]{max-height:calc(100vh - var(--ui-header-height))}.lg\:w-\(--width\){width:var(--width)}.lg\:w-full{width:100%}.lg\:max-w-xs{max-width:var(--container-xs)}.lg\:flex-1{flex:1}.lg\:scale-\[1\.1\]{scale:1.1}.lg\:columns-3{columns:3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-\[repeat\(var\(--count\)\,minmax\(0\,1fr\)\)\]{grid-template-columns:repeat(var(--count),minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-center{justify-content:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-start{justify-content:flex-start}.lg\:gap-10{gap:calc(var(--spacing)*10)}.lg\:gap-x-3{column-gap:calc(var(--spacing)*3)}.lg\:gap-x-13{column-gap:calc(var(--spacing)*13)}.lg\:gap-y-16{row-gap:calc(var(--spacing)*16)}:where(.lg\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.lg\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.lg\:p-6{padding:calc(var(--spacing)*6)}.lg\:p-8{padding:calc(var(--spacing)*8)}.lg\:px-0{padding-inline:calc(var(--spacing)*0)}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\:px-16{padding-inline:calc(var(--spacing)*16)}.lg\:py-4{padding-block:calc(var(--spacing)*4)}.lg\:py-12{padding-block:calc(var(--spacing)*12)}.lg\:py-24{padding-block:calc(var(--spacing)*24)}.lg\:py-32{padding-block:calc(var(--spacing)*32)}.lg\:py-40{padding-block:calc(var(--spacing)*40)}.lg\:ps-4{padding-inline-start:calc(var(--spacing)*4)}.lg\:pe-6\.5{padding-inline-end:calc(var(--spacing)*6.5)}.lg\:pr-6{padding-right:calc(var(--spacing)*6)}.lg\:pb-0{padding-bottom:calc(var(--spacing)*0)}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:not-last\:border-e:not(:last-child){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.lg\:not-last\:border-default:not(:last-child){border-color:var(--ui-border)}}@media (width>=80rem){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:mt-0{margin-top:calc(var(--spacing)*0)}.xl\:mb-0{margin-bottom:calc(var(--spacing)*0)}.xl\:grid{display:grid}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:gap-8{gap:calc(var(--spacing)*8)}.xl\:p-10{padding:calc(var(--spacing)*10)}}.ltr\:justify-end:where(:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=ltr],[dir=ltr] *){justify-content:flex-end}.rtl\:translate-x-\[4px\]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:4px;translate:var(--tw-translate-x)var(--tw-translate-y)}.rtl\:-rotate-90:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:-90deg}.rtl\:animate-\[marquee-rtl_var\(--duration\)_linear_infinite\]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){animation:marquee-rtl var(--duration)linear infinite}.rtl\:animate-\[marquee-vertical-rtl_var\(--duration\)_linear_infinite\]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){animation:marquee-vertical-rtl var(--duration)linear infinite}.rtl\:justify-end:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){justify-content:flex-end}.rtl\:text-right:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){text-align:right}.rtl\:after\:animate-\[carousel-inverse-rtl_2s_ease-in-out_infinite\]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);animation:2s ease-in-out infinite carousel-inverse-rtl}.rtl\:after\:animate-\[carousel-rtl_2s_ease-in-out_infinite\]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);animation:2s ease-in-out infinite carousel-rtl}.data-\[state\=checked\]\:rtl\:-translate-x-3[data-state=checked]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:-translate-x-3\.5[data-state=checked]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-3.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:-translate-x-4[data-state=checked]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:-translate-x-4\.5[data-state=checked]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-4.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:rtl\:-translate-x-5[data-state=checked]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=indeterminate\]\:rtl\:animate-\[carousel-inverse-rtl_2s_ease-in-out_infinite\][data-state=indeterminate]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){animation:2s ease-in-out infinite carousel-inverse-rtl}.data-\[state\=indeterminate\]\:rtl\:animate-\[carousel-rtl_2s_ease-in-out_infinite\][data-state=indeterminate]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){animation:2s ease-in-out infinite carousel-rtl}.data-\[state\=unchecked\]\:rtl\:-translate-x-0[data-state=unchecked]:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:inline:where(.dark,.dark *){display:inline}.dark\:decoration-neutral-600:where(.dark,.dark *){-webkit-text-decoration-color:var(--ui-color-neutral-600);-webkit-text-decoration-color:var(--ui-color-neutral-600);-webkit-text-decoration-color:var(--ui-color-neutral-600);text-decoration-color:var(--ui-color-neutral-600)}.dark\:even\:bg-accented\/20:where(.dark,.dark *):nth-child(2n){background-color:var(--ui-bg-accented)}@supports (color:color-mix(in lab, red, red)){.dark\:even\:bg-accented\/20:where(.dark,.dark *):nth-child(2n){background-color:color-mix(in oklab,var(--ui-bg-accented)20%,transparent)}}.dark\:focus-visible\:outline-none:where(.dark,.dark *):focus-visible{--tw-outline-style:none;outline-style:none}.dark\:disabled\:bg-transparent:where(.dark,.dark *):disabled{background-color:#0000}@media (hover:hover){.dark\:hover\:disabled\:bg-transparent:where(.dark,.dark *):hover:disabled{background-color:#0000}}.dark\:aria-disabled\:bg-transparent:where(.dark,.dark *)[aria-disabled=true]{background-color:#0000}@media (hover:hover){.dark\:hover\:aria-disabled\:bg-transparent:where(.dark,.dark *):hover[aria-disabled=true]{background-color:#0000}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]){padding-inline-end:calc(var(--spacing)*0)}.\[\&\>\*\:nth-child\(1\)\]\:animate-\[bounce_1s_infinite\]>:first-child{animation:1s infinite bounce}.\[\&\>\*\:nth-child\(2\)\]\:animate-\[bounce_1s_0\.15s_infinite\]>:nth-child(2){animation:1s .15s infinite bounce}.\[\&\>\*\:nth-child\(3\)\]\:animate-\[bounce_1s_0\.3s_infinite\]>:nth-child(3){animation:1s .3s infinite bounce}.\[\&\>article\]\:last-of-type\:min-h-\(--last-message-height\)>article:last-of-type{min-height:var(--last-message-height)}.\[\&\>button\]\:py-0>button{padding-block:calc(var(--spacing)*0)}.\[\&\>div\]\:min-w-0>div{min-width:calc(var(--spacing)*0)}.\[\&\>input\]\:h-12>input{height:calc(var(--spacing)*12)}.\[\&\>input\]\:text-base\/5>input{font-size:var(--text-base);line-height:calc(var(--spacing)*5)}.\[\&\>mark\]\:bg-primary>mark{background-color:var(--ui-primary)}.\[\&\>mark\]\:text-inverted>mark{color:var(--ui-text-inverted)}@media (hover:hover){.\[\&\>tr\]\:data-\[selectable\=true\]\:hover\:bg-elevated\/50>tr[data-selectable=true]:hover{background-color:var(--ui-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.\[\&\>tr\]\:data-\[selectable\=true\]\:hover\:bg-elevated\/50>tr[data-selectable=true]:hover{background-color:color-mix(in oklab,var(--ui-bg-elevated)50%,transparent)}}}.\[\&\>tr\]\:data-\[selectable\=true\]\:focus-visible\:outline-primary>tr[data-selectable=true]:focus-visible{outline-color:var(--ui-primary)}}@keyframes accordion-up{0%{height:var(--reka-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--reka-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--reka-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap)))scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0)translateY(var(--translate))}to{transform:translateX(-100%)translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0)translateY(var(--translate))}to{transform:translateX(100%)translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out-to-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slide-out-to-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translate(200px)}to{opacity:1;transform:translate(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translate(-200px)}to{opacity:1;transform:translate(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes carousel-rtl{0%,to{width:50%}0%{transform:translate(100%)}to{transform:translate(-200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translate(200%)}to{transform:translate(-100%)}}@keyframes carousel-inverse-rtl{0%,to{width:50%}0%{transform:translate(-200%)}to{transform:translate(100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translate(-25%)}50%{transform:translate(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{width:50%;margin-left:25%}50%{width:90%;margin-left:5%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(calc(-100% - var(--gap)),0,0)}}@keyframes marquee-rtl{0%{transform:translateZ(0)}to{transform:translate3d(calc(100% + var(--gap)),0,0)}}@keyframes marquee-vertical{0%{transform:translateZ(0)}to{transform:translate3d(0,calc(-100% - var(--gap)),0)}}@keyframes marquee-vertical-rtl{0%{transform:translate3d(0,calc(-100% - var(--gap)),0)}to{transform:translate3d(0,calc(-100%*var(--gap)),0)}}:root{--ui-radius:.5rem;--ui-bg:var(--color-neutral-50);--ui-bg-muted:var(--ui-color-neutral-50);--ui-bg-elevated:var(--ui-color-neutral-100);--ui-bg-accented:var(--ui-color-neutral-100);--ui-bg-inverted:var(--ui-color-neutral-900)}.dark{--ui-bg:var(--color-neutral-950);--ui-bg-muted:var(--ui-color-neutral-900);--ui-bg-elevated:var(--ui-color-neutral-900);--ui-bg-accented:var(--ui-color-neutral-800);--ui-bg-inverted:var(--color-neutral-50)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0;border-radius:4px}::-webkit-scrollbar-thumb{background:var(--ui-border-accented);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ui-text-dimmed)}*{scrollbar-width:thin;scrollbar-color:var(--ui-border-accented)transparent}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(https://cdn.jsdelivr.net/fontsource/fonts/jetbrains-mono:vf@latest/latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --tw-border-spacing-x{syntax:"";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}} +/*$vite$:1*/ \ No newline at end of file diff --git a/packages/router/src/Exceptions/local/src/sections/summary.vue b/packages/router/src/Exceptions/local/src/sections/summary.vue index f78198182..d3e0bbc4d 100644 --- a/packages/router/src/Exceptions/local/src/sections/summary.vue +++ b/packages/router/src/Exceptions/local/src/sections/summary.vue @@ -1,5 +1,4 @@ + + diff --git a/packages/router/src/Exceptions/local/src/sections/request-body.vue b/packages/router/src/Exceptions/local/src/sections/request-body.vue index 1b29a3c58..4f283d50a 100644 --- a/packages/router/src/Exceptions/local/src/sections/request-body.vue +++ b/packages/router/src/Exceptions/local/src/sections/request-body.vue @@ -8,7 +8,7 @@ const $props = defineProps<{