From 73afa2f6210a26dd97673c9512a1ed32109adfa1 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Thu, 20 Oct 2022 13:08:51 +0100 Subject: [PATCH] filament/widgets --- bin/build.js | 20 ++++ bootstrap/app.php | 4 + composer.lock | 93 ++++++++-------- packages/actions/composer.json | 3 + packages/app/composer.json | 2 + packages/app/dist/index.css | 2 +- packages/app/dist/index.js | 26 +---- packages/app/resources/js/index.js | 6 - .../resources/views/components/page.blade.php | 4 +- .../resources/views/pages/dashboard.blade.php | 2 +- .../views/widgets/account-widget.blade.php | 8 +- .../views/widgets/chart-widget.blade.php | 103 ------------------ .../widgets/filament-info-widget.blade.php | 8 +- .../views/widgets/table-widget.blade.php | 3 - packages/app/src/FilamentServiceProvider.php | 1 - packages/app/stubs/WidgetView.stub | 5 - packages/navigation/composer.json | 34 ++++++ .../src}/NavigationBuilder.php | 0 .../src}/NavigationGroup.php | 0 .../src}/NavigationItem.php | 0 .../src/NavigationServiceProvider.php | 10 ++ .../src}/UserMenuItem.php | 0 packages/widgets/composer.json | 34 ++++++ packages/widgets/dist/components/chart.js | 15 +++ .../widgets/resources/js/components/chart.js | 50 +++++++++ .../resources/views/chart-widget.blade.php | 68 ++++++++++++ .../views/components/card/heading.blade.php | 3 + .../views/components/card/index.blade.php | 53 +++++++++ .../resources/views/components/hr.blade.php | 4 + .../views/components/stats/card.blade.php | 0 .../views/components/stats/index.blade.php | 0 .../views/components/widget.blade.php | 0 .../views/components/widgets.blade.php | 0 .../views}/stats-overview-widget.blade.php | 8 +- .../stats-overview-widget/card.blade.php | 2 +- .../resources/views/table-widget.blade.php | 3 + .../src}/BarChartWidget.php | 0 .../src}/BubbleChartWidget.php | 0 .../Widgets => widgets/src}/ChartWidget.php | 2 +- .../Commands/Aliases/MakeWidgetCommand.php | 4 +- .../src/Commands/MakeWidgetCommand.php | 2 +- .../src}/Concerns/CanPoll.php | 0 .../src}/DoughnutChartWidget.php | 0 .../src}/LineChartWidget.php | 0 .../src}/PieChartWidget.php | 0 .../src}/PolarAreaChartWidget.php | 0 .../src}/RadarChartWidget.php | 0 .../src}/ScatterChartWidget.php | 0 .../src}/StatsOverviewWidget.php | 2 +- .../src}/StatsOverviewWidget/Card.php | 2 +- .../Widgets => widgets/src}/TableWidget.php | 2 +- .../src/Widgets => widgets/src}/Widget.php | 0 .../widgets/src/WidgetsServiceProvider.php | 44 ++++++++ .../{app => widgets}/stubs/ChartWidget.stub | 0 .../stubs/StatsOverviewWidget.stub | 0 .../{app => widgets}/stubs/TableWidget.stub | 0 packages/{app => widgets}/stubs/Widget.stub | 0 packages/widgets/stubs/WidgetView.stub | 5 + 58 files changed, 429 insertions(+), 208 deletions(-) delete mode 100644 packages/app/resources/views/widgets/chart-widget.blade.php delete mode 100644 packages/app/resources/views/widgets/table-widget.blade.php delete mode 100644 packages/app/stubs/WidgetView.stub create mode 100644 packages/navigation/composer.json rename packages/{app/src/Navigation => navigation/src}/NavigationBuilder.php (100%) rename packages/{app/src/Navigation => navigation/src}/NavigationGroup.php (100%) rename packages/{app/src/Navigation => navigation/src}/NavigationItem.php (100%) create mode 100644 packages/navigation/src/NavigationServiceProvider.php rename packages/{app/src/Navigation => navigation/src}/UserMenuItem.php (100%) create mode 100644 packages/widgets/composer.json create mode 100644 packages/widgets/dist/components/chart.js create mode 100644 packages/widgets/resources/js/components/chart.js create mode 100644 packages/widgets/resources/views/chart-widget.blade.php create mode 100644 packages/widgets/resources/views/components/card/heading.blade.php create mode 100644 packages/widgets/resources/views/components/card/index.blade.php create mode 100644 packages/widgets/resources/views/components/hr.blade.php rename packages/{app => widgets}/resources/views/components/stats/card.blade.php (100%) rename packages/{app => widgets}/resources/views/components/stats/index.blade.php (100%) rename packages/{app => widgets}/resources/views/components/widget.blade.php (100%) rename packages/{app => widgets}/resources/views/components/widgets.blade.php (100%) rename packages/{app/resources/views/widgets => widgets/resources/views}/stats-overview-widget.blade.php (52%) rename packages/{app/resources/views/widgets => widgets/resources/views}/stats-overview-widget/card.blade.php (94%) create mode 100644 packages/widgets/resources/views/table-widget.blade.php rename packages/{app/src/Widgets => widgets/src}/BarChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/BubbleChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/ChartWidget.php (96%) rename packages/{app => widgets}/src/Commands/Aliases/MakeWidgetCommand.php (75%) rename packages/{app => widgets}/src/Commands/MakeWidgetCommand.php (99%) rename packages/{app/src/Widgets => widgets/src}/Concerns/CanPoll.php (100%) rename packages/{app/src/Widgets => widgets/src}/DoughnutChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/LineChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/PieChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/PolarAreaChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/RadarChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/ScatterChartWidget.php (100%) rename packages/{app/src/Widgets => widgets/src}/StatsOverviewWidget.php (90%) rename packages/{app/src/Widgets => widgets/src}/StatsOverviewWidget/Card.php (98%) rename packages/{app/src/Widgets => widgets/src}/TableWidget.php (95%) rename packages/{app/src/Widgets => widgets/src}/Widget.php (100%) create mode 100644 packages/widgets/src/WidgetsServiceProvider.php rename packages/{app => widgets}/stubs/ChartWidget.stub (100%) rename packages/{app => widgets}/stubs/StatsOverviewWidget.stub (100%) rename packages/{app => widgets}/stubs/TableWidget.stub (100%) rename packages/{app => widgets}/stubs/Widget.stub (100%) create mode 100644 packages/widgets/stubs/WidgetView.stub diff --git a/bin/build.js b/bin/build.js index e501bf8eac..226ddb18c7 100644 --- a/bin/build.js +++ b/bin/build.js @@ -75,3 +75,23 @@ formComponents.forEach((component) => { }) .catch(() => process.exit(1)) }) + +esbuild + .build({ + define: { + 'process.env.NODE_ENV': shouldWatch + ? `'production'` + : `'development'`, + }, + entryPoints: [ + `packages/widgets/resources/js/components/chart.js`, + ], + outfile: `packages/widgets/dist/components/chart.js`, + bundle: true, + platform: 'neutral', + mainFields: ['module', 'main'], + watch: shouldWatch, + minifySyntax: true, + minifyWhitespace: true, + }) + .catch(() => process.exit(1)) diff --git a/bootstrap/app.php b/bootstrap/app.php index 6676b02db1..51c057a0ae 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -7,6 +7,8 @@ use Filament\Notifications\NotificationsServiceProvider; use Filament\SpatieLaravelTranslatablePluginServiceProvider; use Filament\Support\SupportServiceProvider; use Filament\Tables\TablesServiceProvider; +use Filament\Tests\App\Navigation\NavigationServiceProvider; +use Filament\Widgets\WidgetsServiceProvider; use Livewire\LivewireServiceProvider; use Orchestra\Testbench\Concerns\CreatesApplication; use Orchestra\Testbench\Foundation\Application; @@ -26,9 +28,11 @@ $app->register(LivewireServiceProvider::class); $app->register(FilamentServiceProvider::class); $app->register(ActionsServiceProvider::class); $app->register(FormsServiceProvider::class); +$app->register(NavigationServiceProvider::class); $app->register(NotificationsServiceProvider::class); $app->register(SpatieLaravelTranslatablePluginServiceProvider::class); $app->register(SupportServiceProvider::class); $app->register(TablesServiceProvider::class); +$app->register(WidgetsServiceProvider::class); return $app; diff --git a/composer.lock b/composer.lock index 1fe2ed9231..0e0c5461a3 100644 --- a/composer.lock +++ b/composer.lock @@ -127,16 +127,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.239.0", + "version": "3.239.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "33ae76381b77a1a2580817996dcc7b9e931ae5f4" + "reference": "47aa3e427371af4449cd9cb07af7209376a535bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/33ae76381b77a1a2580817996dcc7b9e931ae5f4", - "reference": "33ae76381b77a1a2580817996dcc7b9e931ae5f4", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/47aa3e427371af4449cd9cb07af7209376a535bb", + "reference": "47aa3e427371af4449cd9cb07af7209376a535bb", "shasum": "" }, "require": { @@ -215,9 +215,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.239.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.239.1" }, - "time": "2022-10-18T18:17:00+00:00" + "time": "2022-10-19T18:15:49+00:00" }, { "name": "blade-ui-kit/blade-heroicons", @@ -1129,23 +1129,23 @@ }, { "name": "doctrine/inflector", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392" + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/ade2b3bbfb776f27f0558e26eed43b5d9fe1b392", - "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", + "doctrine/coding-standard": "^10", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.3", @@ -1200,7 +1200,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.5" + "source": "https://github.com/doctrine/inflector/tree/2.0.6" }, "funding": [ { @@ -1216,7 +1216,7 @@ "type": "tidelift" } ], - "time": "2022-09-07T09:01:28+00:00" + "time": "2022-10-20T09:10:12+00:00" }, { "name": "doctrine/instantiator", @@ -1566,9 +1566,10 @@ "dist": { "type": "path", "url": "packages/support", - "reference": "3d4f0e5264799aed43db14b28538062b69d6777e" + "reference": "4b871dceb7074da10b4ce0bd82978f05e8e6b1e6" }, "require": { + "blade-ui-kit/blade-icons": "^1.4", "illuminate/contracts": "^9.0", "illuminate/support": "^9.0", "illuminate/view": "^9.0", @@ -2336,16 +2337,16 @@ }, { "name": "laravel/framework", - "version": "v9.36.2", + "version": "v9.36.3", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "0bcd350eec1974c9f912f129368587ef7e43722b" + "reference": "80ba0561b3682b96743e1c152fde0698bbdb2412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/0bcd350eec1974c9f912f129368587ef7e43722b", - "reference": "0bcd350eec1974c9f912f129368587ef7e43722b", + "url": "https://api.github.com/repos/laravel/framework/zipball/80ba0561b3682b96743e1c152fde0698bbdb2412", + "reference": "80ba0561b3682b96743e1c152fde0698bbdb2412", "shasum": "" }, "require": { @@ -2434,7 +2435,7 @@ "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^7.8", + "orchestra/testbench-core": "^7.11", "pda/pheanstalk": "^4.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^9.5.8", @@ -2518,7 +2519,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-10-18T18:46:20+00:00" + "time": "2022-10-19T13:23:53+00:00" }, { "name": "laravel/pint", @@ -2836,16 +2837,16 @@ }, { "name": "league/flysystem", - "version": "3.8.0", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3d2ed6215e096e900662bd8f993fc5ad81cc4135" + "reference": "60f3760352fe08e918bc3b1acae4e91af092ebe1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3d2ed6215e096e900662bd8f993fc5ad81cc4135", - "reference": "3d2ed6215e096e900662bd8f993fc5ad81cc4135", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/60f3760352fe08e918bc3b1acae4e91af092ebe1", + "reference": "60f3760352fe08e918bc3b1acae4e91af092ebe1", "shasum": "" }, "require": { @@ -2907,7 +2908,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.8.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.9.0" }, "funding": [ { @@ -2923,7 +2924,7 @@ "type": "tidelift" } ], - "time": "2022-10-18T06:54:34+00:00" + "time": "2022-10-18T21:02:43+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -4336,23 +4337,23 @@ }, { "name": "orchestra/testbench", - "version": "v7.10.2", + "version": "v7.11.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "713f811ebba7524eb5891ac102a3f270578e078a" + "reference": "64a5ef91760ab62acdd4adb10ebb1e1ad68e9311" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/713f811ebba7524eb5891ac102a3f270578e078a", - "reference": "713f811ebba7524eb5891ac102a3f270578e078a", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/64a5ef91760ab62acdd4adb10ebb1e1ad68e9311", + "reference": "64a5ef91760ab62acdd4adb10ebb1e1ad68e9311", "shasum": "" }, "require": { "fakerphp/faker": "^1.9.2", - "laravel/framework": "^9.34", + "laravel/framework": "^9.36", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^7.10.2", + "orchestra/testbench-core": "^7.11", "php": "^8.0", "phpunit/phpunit": "^9.5.10", "spatie/laravel-ray": "^1.28", @@ -4389,7 +4390,7 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v7.10.2" + "source": "https://github.com/orchestral/testbench/tree/v7.11.0" }, "funding": [ { @@ -4401,20 +4402,20 @@ "type": "liberapay" } ], - "time": "2022-10-14T11:29:27+00:00" + "time": "2022-10-19T11:54:46+00:00" }, { "name": "orchestra/testbench-core", - "version": "v7.10.2", + "version": "v7.11.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "ef1c1bfe5f05f96151a5bd9a9ccd7c10650bc5d1" + "reference": "7b67c9e23e9eb6e3e3b336f9ba3afe99072795e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/ef1c1bfe5f05f96151a5bd9a9ccd7c10650bc5d1", - "reference": "ef1c1bfe5f05f96151a5bd9a9ccd7c10650bc5d1", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/7b67c9e23e9eb6e3e3b336f9ba3afe99072795e2", + "reference": "7b67c9e23e9eb6e3e3b336f9ba3afe99072795e2", "shasum": "" }, "require": { @@ -4422,7 +4423,7 @@ }, "require-dev": { "fakerphp/faker": "^1.9.2", - "laravel/framework": "^9.34", + "laravel/framework": "^9.36", "laravel/laravel": "9.x-dev", "laravel/pint": "^1.1", "mockery/mockery": "^1.5.1", @@ -4496,7 +4497,7 @@ "type": "liberapay" } ], - "time": "2022-10-14T11:20:52+00:00" + "time": "2022-10-19T11:47:55+00:00" }, { "name": "pestphp/pest", @@ -5232,16 +5233,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.11.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "7d1e81213b0c7eb8d5a9f524456cbc2778ed5c65" + "reference": "5f13698464773fa6f5392a9e311f81e23e9c3ba7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/7d1e81213b0c7eb8d5a9f524456cbc2778ed5c65", - "reference": "7d1e81213b0c7eb8d5a9f524456cbc2778ed5c65", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/5f13698464773fa6f5392a9e311f81e23e9c3ba7", + "reference": "5f13698464773fa6f5392a9e311f81e23e9c3ba7", "shasum": "" }, "require": { @@ -5271,9 +5272,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.11.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.12.0" }, - "time": "2022-10-14T13:32:28+00:00" + "time": "2022-10-20T07:49:58+00:00" }, { "name": "phpstan/phpstan", diff --git a/packages/actions/composer.json b/packages/actions/composer.json index 7682fe1e08..9e11b46a19 100644 --- a/packages/actions/composer.json +++ b/packages/actions/composer.json @@ -11,6 +11,9 @@ "php": "^8.0", "blade-ui-kit/blade-heroicons": "^2.0", "filament/support": "self.version", + "illuminate/contracts": "^9.0", + "illuminate/database": "^9.0", + "illuminate/support": "^9.0", "livewire/livewire": "^2.10.7", "spatie/laravel-package-tools": "^1.9" }, diff --git a/packages/app/composer.json b/packages/app/composer.json index 96078d25ec..0b0335b66d 100644 --- a/packages/app/composer.json +++ b/packages/app/composer.json @@ -12,9 +12,11 @@ "danharrin/livewire-rate-limiting": "^0.3|^1.0", "filament/actions": "self.version", "filament/forms": "self.version", + "filament/navigation": "self.version", "filament/notifications": "self.version", "filament/support": "self.version", "filament/tables": "self.version", + "filament/widgets": "self.version", "illuminate/auth": "^9.0", "illuminate/console": "^9.0", "illuminate/contracts": "^9.0", diff --git a/packages/app/dist/index.css b/packages/app/dist/index.css index 444368c6fe..f2575f96aa 100644 --- a/packages/app/dist/index.css +++ b/packages/app/dist/index.css @@ -1,2 +1,2 @@ .filepond--image-preview-markup{left:0;position:absolute;top:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{display:block;left:0;margin:0;max-height:7rem;min-height:5rem;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.filepond--image-preview-overlay svg{color:inherit;height:auto;max-height:inherit;width:100%}.filepond--image-preview-overlay-idle{color:#282828d9;mix-blend-mode:multiply}.filepond--image-preview-overlay-success{color:#369763;mix-blend-mode:normal}.filepond--image-preview-overlay-failure{color:#c44e47;mix-blend-mode:normal}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--image-preview{align-items:center;background:#222;display:flex;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;will-change:transform,opacity;z-index:1}.filepond--image-clip{margin:0 auto;overflow:hidden;position:relative}.filepond--image-clip[data-transparency-indicator=grid] canvas,.filepond--image-clip[data-transparency-indicator=grid] img{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0h50v50H0M50 50h50v50H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{left:0;position:absolute;top:0;will-change:transform}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{align-items:center;display:flex;height:100%;justify-content:center}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{bottom:0;top:auto;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-bottom:.1875em;margin-left:.1875em;margin-top:0}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{margin:2.3em auto auto;width:calc(100% - 1.4em)}.filepond--media-preview .playpausebtn{background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;cursor:pointer;float:left;height:25px;margin-right:.3em;margin-top:.3em;outline:none;width:25px}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{background:hsla(0,0%,100%,.3);border-radius:15px;float:left;height:3px;margin-top:1em;width:calc(100% - 2.5em)}.filepond--media-preview .playhead{background:#fff;border-radius:50%;height:13px;margin-top:-5px;width:13px}.filepond--media-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;pointer-events:auto;position:absolute;right:0;top:0}.filepond--media-preview-wrapper:before{background:linear-gradient(180deg,#000 0,transparent);content:" ";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);height:2em;position:absolute;width:100%;z-index:3}.filepond--media-preview{display:block;height:100%;position:relative;transform-origin:center center;width:100%;will-change:transform,opacity;z-index:1}.filepond--media-preview audio,.filepond--media-preview video{width:100%;will-change:transform}.filepond--assistant{clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--browser.filepond--browser{font-size:0;left:1em;margin:0;opacity:0;padding:0;position:absolute;top:1.75em;width:calc(100% - 2em)}.filepond--data{border:none;contain:strict;height:0;margin:0;padding:0;visibility:hidden;width:0}.filepond--data,.filepond--drip{pointer-events:none;position:absolute}.filepond--drip{background:rgba(0,0,0,.01);border-radius:.5em;bottom:0;left:0;opacity:.1;overflow:hidden;right:0;top:0}.filepond--drip-blob{background:#292625;border-radius:50%;height:8em;margin-left:-4em;margin-top:-4em;transform-origin:center center;width:8em}.filepond--drip-blob,.filepond--drop-label{left:0;position:absolute;top:0;will-change:transform,opacity}.filepond--drop-label{align-items:center;color:#4f4f4f;display:flex;height:0;justify-content:center;margin:0;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--drop-label.filepond--drop-label label{display:block;margin:0;padding:.5em}.filepond--drop-label label{cursor:default;font-size:.875em;font-weight:400;line-height:1.5;text-align:center}.filepond--label-action{-webkit-text-decoration-skip:ink;cursor:pointer;text-decoration:underline;text-decoration-color:#a7a4a4;text-decoration-skip-ink:auto}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{border:none;font-family:inherit;font-size:1em;height:1.625em;line-height:inherit;margin:0;outline:none;padding:0;width:1.625em;will-change:transform,opacity}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file-action-button.filepond--file-action-button svg{height:100%;width:100%}.filepond--file-action-button.filepond--file-action-button:after{bottom:-.75em;content:"";left:-.75em;position:absolute;right:-.75em;top:-.75em}.filepond--file-action-button{background-color:#00000080;background-image:none;border-radius:50%;box-shadow:0 0 0 0 hsla(0,0%,100%,0);color:#fff;cursor:auto;transition:box-shadow .25s ease-in}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em hsla(0,0%,100%,.9)}.filepond--file-action-button[disabled]{background-color:#00000040;color:#ffffff80}.filepond--file-action-button[hidden]{display:none}.filepond--action-edit-item.filepond--action-edit-item{height:2em;padding:.1875em;width:2em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{background:transparent;border:none;color:inherit;font-family:inherit;line-height:inherit;margin:0 0 0 .25em;outline:none;padding:0;pointer-events:all;position:absolute}.filepond--action-edit-item-alt svg{height:1.3125em;width:1.3125em}.filepond--action-edit-item-alt span{font-size:0;opacity:0}.filepond--file-info{align-items:flex-start;display:flex;flex:1;flex-direction:column;margin:0 .5em 0 0;min-width:0;pointer-events:none;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{font-size:.75em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.filepond--file-info .filepond--file-info-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out;white-space:nowrap}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{align-items:flex-end;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;margin:0;min-width:2.25em;pointer-events:none;position:static;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-status *{margin:0;white-space:nowrap}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;height:100%;margin:0;min-width:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file{align-items:flex-start;border-radius:.5em;color:#fff;display:flex;height:100%;padding:.5625em;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:fall .5s linear .125s both}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:shake .65s linear both}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:spin 1s linear infinite}@keyframes shake{10%,90%{transform:translateX(-.0625em)}20%,80%{transform:translateX(.125em)}30%,50%,70%{transform:translateX(-.25em)}40%,60%{transform:translateX(.25em)}}@keyframes fall{0%{animation-timing-function:ease-out;opacity:0;transform:scale(.5)}70%{animation-timing-function:ease-in-out;opacity:1;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:100}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{left:0;margin:.25em;padding:0;position:absolute;right:0;top:0;will-change:transform,opacity;z-index:1}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em rgba(0,0,0,.25)}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{box-shadow:0 0 0 transparent;transition:box-shadow .125s ease-in-out}.filepond--item[data-drag-state=drag]{cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em rgba(0,0,0,.325)}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{left:0;margin:0;position:absolute;right:0;top:0;will-change:transform}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;-webkit-mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);overflow-x:hidden;overflow-y:scroll}.filepond--list-scroller::-webkit-scrollbar{background:transparent}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#0000004d;border:.3125em solid transparent;border-radius:99999px}.filepond--list.filepond--list{list-style-type:none;margin:0;padding:0;position:absolute;top:0;will-change:transform}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{height:100%;margin:0;max-width:none;width:100%}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{align-items:center;bottom:0;display:flex;height:auto;justify-content:center;z-index:7}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-bottom:0;margin-top:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status,.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{height:100%!important;left:0;margin:0;pointer-events:none;position:absolute;right:0;top:0}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{background-color:transparent!important;border:none!important;transform-style:preserve-3d}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{left:0;margin:0;padding:0;position:absolute;right:0;top:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.filepond--panel-top:after{background-color:inherit;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.filepond--panel-bottom,.filepond--panel-center{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate3d(0,.5em,0);transform-origin:left top;will-change:transform}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{background-color:inherit;content:"";height:2px;left:0;position:absolute;right:0;top:-1px}.filepond--panel-center{border-bottom:none!important;border-radius:0!important;border-top:none!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;height:1.25em;margin:0;pointer-events:none;position:static;width:1.25em;will-change:transform,opacity}.filepond--progress-indicator svg{height:100%;transform-box:fill-box;vertical-align:top;width:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;contain:layout style size;direction:ltr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;margin-bottom:1em;position:relative;text-align:left;text-rendering:optimizeLegibility}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-bottom:1em;margin-top:1em}.filepond--root .filepond--credits{bottom:-14px;color:inherit;font-size:11px;line-height:.85;opacity:.175;position:absolute;right:0;text-decoration:none;z-index:3}.filepond--root .filepond--credits[style]{bottom:auto;margin-top:14px;top:0}trix-editor{border:1px solid #bbb;border-radius:3px;margin:0;min-height:5em;outline:none;padding:.4em .6em}trix-toolbar *{box-sizing:border-box}trix-toolbar .trix-button-row{display:flex;flex-wrap:nowrap;justify-content:space-between;overflow-x:auto}trix-toolbar .trix-button-group{border-color:#ccc #bbb #888;border-radius:3px;border-style:solid;border-width:1px;display:flex;margin-bottom:10px}trix-toolbar .trix-button-group:not(:first-child){margin-left:1.5vw}@media (max-device-width:768px){trix-toolbar .trix-button-group:not(:first-child){margin-left:0}}trix-toolbar .trix-button-group-spacer{flex-grow:1}@media (max-device-width:768px){trix-toolbar .trix-button-group-spacer{display:none}}trix-toolbar .trix-button{background:transparent;border:none;border-bottom:1px solid #ddd;border-radius:0;color:#0009;float:left;font-size:.75em;font-weight:600;margin:0;outline:none;padding:0 .5em;position:relative;white-space:nowrap}trix-toolbar .trix-button:not(:first-child){border-left:1px solid #ccc}trix-toolbar .trix-button.trix-active{background:#cbeefa;color:#000}trix-toolbar .trix-button:not(:disabled){cursor:pointer}trix-toolbar .trix-button:disabled{color:#00000020}@media (max-device-width:768px){trix-toolbar .trix-button{letter-spacing:-.01em;padding:0 .3em}}trix-toolbar .trix-button--icon{font-size:inherit;height:1.6em;max-width:calc(.8em + 4vw);text-indent:-9999px;width:2.6em}@media (max-device-width:768px){trix-toolbar .trix-button--icon{height:2em;max-width:calc(.8em + 3.5vw)}}trix-toolbar .trix-button--icon:before{background-position:50%;background-repeat:no-repeat;background-size:contain;bottom:0;content:"";display:inline-block;left:0;opacity:.6;position:absolute;right:0;top:0}@media (max-device-width:768px){trix-toolbar .trix-button--icon:before{left:6%;right:6%}}trix-toolbar .trix-button--icon.trix-active:before{opacity:1}trix-toolbar .trix-button--icon:disabled:before{opacity:.125}trix-toolbar .trix-button--icon-attach:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M16.5 6v11.5a4 4 0 1 1-8 0V5a2.5 2.5 0 0 1 5 0v10.5a1 1 0 1 1-2 0V6H10v9.5a2.5 2.5 0 0 0 5 0V5a4 4 0 1 0-8 0v12.5a5.5 5.5 0 0 0 11 0V6h-1.5z'/%3E%3C/svg%3E");bottom:4%;top:8%}trix-toolbar .trix-button--icon-bold:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M15.6 11.8c1-.7 1.6-1.8 1.6-2.8a4 4 0 0 0-4-4H7v14h7c2.1 0 3.7-1.7 3.7-3.8 0-1.5-.8-2.8-2.1-3.4zM10 7.5h3a1.5 1.5 0 1 1 0 3h-3v-3zm3.5 9H10v-3h3.5a1.5 1.5 0 1 1 0 3z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-italic:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M10 5v3h2.2l-3.4 8H6v3h8v-3h-2.2l3.4-8H18V5h-8z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-link:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M9.88 13.7a4.3 4.3 0 0 1 0-6.07l3.37-3.37a4.26 4.26 0 0 1 6.07 0 4.3 4.3 0 0 1 0 6.06l-1.96 1.72a.91.91 0 1 1-1.3-1.3l1.97-1.71a2.46 2.46 0 0 0-3.48-3.48l-3.38 3.37a2.46 2.46 0 0 0 0 3.48.91.91 0 1 1-1.3 1.3z'/%3E%3Cpath d='M4.25 19.46a4.3 4.3 0 0 1 0-6.07l1.93-1.9a.91.91 0 1 1 1.3 1.3l-1.93 1.9a2.46 2.46 0 0 0 3.48 3.48l3.37-3.38c.96-.96.96-2.52 0-3.48a.91.91 0 1 1 1.3-1.3 4.3 4.3 0 0 1 0 6.07l-3.38 3.38a4.26 4.26 0 0 1-6.07 0z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-strike:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='m12.73 14 .28.14c.26.15.45.3.57.44.12.14.18.3.18.5 0 .3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52 13.52 0 0 1 7 14.95v3.37a10.64 10.64 0 0 0 4.84.88c1.26 0 2.35-.19 3.28-.56.93-.37 1.64-.9 2.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1 0-1.29.52-2.3 1.58-3.02 1.05-.72 2.5-1.08 4.34-1.08 1.62 0 3.28.34 4.97 1l-1.3 2.93c-1.47-.6-2.73-.9-3.8-.9-.55 0-.96.08-1.2.26-.26.17-.38.38-.38.64 0 .27.16.52.48.74.17.12.53.3 1.05.53H7.23zM3 13h18v-2H3v2z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-quote:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-heading-1:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12 9v3H9v7H6v-7H3V9h9zM8 4h14v3h-6v12h-3V7H8V4z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-code:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M18.2 12 15 15.2l1.4 1.4L21 12l-4.6-4.6L15 8.8l3.2 3.2zM5.8 12 9 8.8 7.6 7.4 3 12l4.6 4.6L9 15.2 5.8 12z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-bullet-list:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M4 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm4 3h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-number-list:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-undo:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12.5 8c-2.6 0-5 1-6.9 2.6L2 7v9h9l-3.6-3.6A8 8 0 0 1 20 16l2.4-.8a10.5 10.5 0 0 0-10-7.2z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-redo:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M18.4 10.6a10.5 10.5 0 0 0-16.9 4.6L4 16a8 8 0 0 1 12.7-3.6L13 16h9V7l-3.6 3.6z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-decrease-nesting-level:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M3 19h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3 2.8 2.9L6 14.2 4 12l2-2-1.4-1.5L1 12l.7.7zM3 5v2h19V5H3z'/%3E%3C/svg%3E")}trix-toolbar .trix-button--icon-increase-nesting-level:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M3 19h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1 14.2l1.4 1.4L6 12l-.7-.7-2.8-2.8L1 9.9 3.1 12zM3 5v2h19V5H3z'/%3E%3C/svg%3E")}trix-toolbar .trix-dialogs{position:relative}trix-toolbar .trix-dialog{background:#fff;border-radius:5px;border-top:2px solid #888;box-shadow:0 .3em 1em #ccc;font-size:.75em;left:0;padding:15px 10px;position:absolute;right:0;top:0;z-index:5}trix-toolbar .trix-input--dialog{-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid #bbb;border-radius:3px;box-shadow:none;font-size:inherit;font-weight:400;margin:0 10px 0 0;outline:none;padding:.5em .8em}trix-toolbar .trix-input--dialog.validate:invalid{box-shadow:0 0 1.5px 1px red}trix-toolbar .trix-button--dialog{border-bottom:none;font-size:inherit;padding:.5em}trix-toolbar .trix-dialog--link{max-width:600px}trix-toolbar .trix-dialog__link-fields{align-items:baseline;display:flex}trix-toolbar .trix-dialog__link-fields .trix-input{flex:1}trix-toolbar .trix-dialog__link-fields .trix-button-group{flex:0 0 content;margin:0}trix-editor [data-trix-mutable]:not(.attachment__caption-editor){-webkit-user-select:none;-moz-user-select:none;user-select:none}trix-editor [data-trix-cursor-target]::-moz-selection,trix-editor [data-trix-mutable] ::-moz-selection,trix-editor [data-trix-mutable]::-moz-selection{background:none}trix-editor [data-trix-cursor-target]::selection,trix-editor [data-trix-mutable] ::selection,trix-editor [data-trix-mutable]::selection{background:none}trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection{background:highlight}trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection{background:highlight}trix-editor [data-trix-mutable].attachment.attachment--file{border-color:transparent;box-shadow:0 0 0 2px highlight}trix-editor [data-trix-mutable].attachment img{box-shadow:0 0 0 2px highlight}trix-editor .attachment{position:relative}trix-editor .attachment:hover{cursor:default}trix-editor .attachment--preview .attachment__caption:hover{cursor:text}trix-editor .attachment__progress{height:20px;left:5%;opacity:.9;position:absolute;top:calc(50% - 10px);transition:opacity .2s ease-in;width:90%;z-index:1}trix-editor .attachment__progress[value="100"]{opacity:0}trix-editor .attachment__caption-editor{-webkit-appearance:none;-moz-appearance:none;border:none;color:inherit;display:inline-block;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;outline:none;padding:0;text-align:center;vertical-align:top;width:100%}trix-editor .attachment__toolbar{left:0;position:absolute;text-align:center;top:-.9em;width:100%;z-index:1}trix-editor .trix-button-group{display:inline-flex}trix-editor .trix-button{background:transparent;border:none;border-radius:0;color:#666;float:left;font-size:80%;margin:0;outline:none;padding:0 .8em;position:relative;white-space:nowrap}trix-editor .trix-button:not(:first-child){border-left:1px solid #ccc}trix-editor .trix-button.trix-active{background:#cbeefa}trix-editor .trix-button:not(:disabled){cursor:pointer}trix-editor .trix-button--remove{background-color:#fff;border:2px solid highlight;border-radius:50%;box-shadow:1px 1px 6px rgba(0,0,0,.25);display:inline-block;height:1.8em;line-height:1.8em;outline:none;padding:0;text-indent:-9999px;width:1.8em}trix-editor .trix-button--remove:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 6.4 17.6 5 12 10.6 6.4 5 5 6.4l5.6 5.6L5 17.6 6.4 19l5.6-5.6 5.6 5.6 1.4-1.4-5.6-5.6z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:90%;bottom:0;content:"";display:inline-block;left:0;opacity:.7;position:absolute;right:0;top:0}trix-editor .trix-button--remove:hover{border-color:#333}trix-editor .trix-button--remove:hover:before{opacity:1}trix-editor .attachment__metadata-container{position:relative}trix-editor .attachment__metadata{background-color:#000000b3;border-radius:3px;color:#fff;font-size:.8em;left:50%;max-width:90%;padding:.1em .6em;position:absolute;top:2em;transform:translate(-50%)}trix-editor .attachment__metadata .attachment__name{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}trix-editor .attachment__metadata .attachment__size{margin-left:.2em;white-space:nowrap}.trix-content{line-height:1.5}.trix-content *{box-sizing:border-box;margin:0;padding:0}.trix-content h1{font-size:1.2em;line-height:1.2}.trix-content blockquote{border:solid #ccc;border-width:0 0 0 .3em;margin-left:.3em;padding-left:.6em}.trix-content [dir=rtl] blockquote,.trix-content blockquote[dir=rtl]{border-width:0 .3em 0 0;margin-right:.3em;padding-right:.6em}.trix-content li{margin-left:1em}.trix-content [dir=rtl] li{margin-right:1em}.trix-content pre{background-color:#eee;display:inline-block;font-family:monospace;font-size:.9em;overflow-x:auto;padding:.5em;vertical-align:top;white-space:pre;width:100%}.trix-content img{height:auto;max-width:100%}.trix-content .attachment{display:inline-block;max-width:100%;position:relative}.trix-content .attachment a{color:inherit;text-decoration:none}.trix-content .attachment a:hover,.trix-content .attachment a:visited:hover{color:inherit}.trix-content .attachment__caption{text-align:center}.trix-content .attachment__caption .attachment__name+.attachment__size:before{content:" \b7 "}.trix-content .attachment--preview{text-align:center;width:100%}.trix-content .attachment--preview .attachment__caption{color:#666;font-size:.9em;line-height:1.2}.trix-content .attachment--file{border:1px solid #bbb;border-radius:5px;color:#333;line-height:1;margin:0 2px 2px;padding:.4em 1em}.trix-content .attachment-gallery{display:flex;flex-wrap:wrap;position:relative}.trix-content .attachment-gallery .attachment{flex:1 0 33%;max-width:33%;padding:0 .5em}.trix-content .attachment-gallery.attachment-gallery--2 .attachment,.trix-content .attachment-gallery.attachment-gallery--4 .attachment{flex-basis:50%;max-width:50%}.filament-forms-color-picker-preview{background-image:repeating-linear-gradient(45deg,#aaa 25%,transparent 0,transparent 75%,#aaa 0,#aaa),repeating-linear-gradient(45deg,#aaa 25%,#fff 0,#fff 75%,#aaa 0,#aaa);background-position:0 0,4px 4px;background-size:8px 8px}.filament-forms-color-picker-preview:after{background:var(--color);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.filepond--root{margin-bottom:0;overflow:hidden}.filepond--panel-root{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filepond--drip-blob{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .filepond--drop-label{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark .filepond--panel-root{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.dark .filepond--drip-blob{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.filepond--root[data-style-panel-layout=compact] .filepond--item{margin-bottom:.125rem}.filepond--root[data-style-panel-layout=compact] .filepond--drop-label label{font-size:.875rem;line-height:1.25rem}.filepond--root[data-style-panel-layout=compact] .filepond--drop-label{min-height:2.625em}.filepond--root[data-style-panel-layout=compact] .filepond--file{padding-bottom:.5em;padding-top:.5em}.filepond--root[data-style-panel-layout=grid] .filepond--item{display:inline;width:calc(50% - .5em)}@media (min-width:1024px){.filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5em)}}.filepond--download-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-right:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--download-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--open-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-right:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--open-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.dark .trix-button{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));color:rgb(229 231 235/var(--tw-text-opacity))}.dark .trix-button-group{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.choices{position:relative}.choices:focus{outline:2px solid transparent;outline-offset:2px}.choices:last-child{margin-bottom:0}.choices.is-open{overflow:visible}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{-webkit-user-select:none;-moz-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed;opacity:.7;pointer-events:none}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__input{border-bottom-width:1px;display:block;margin:0;padding:.5rem;width:100%}.dark .choices[data-type*=select-one] .choices__input{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.choices[data-type*=select-multiple] .choices__inner{cursor:text}.choices__inner{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-block;padding:.5rem .75rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);vertical-align:top;width:100%}.dark .choices__inner{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.choices--error .choices__inner{--tw-border-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity));border-color:rgb(225 29 72/var(--tw-border-opacity))}[dir=rtl] .choices__inner{background-position:left .5rem center}.is-focused .choices__inner,.is-open .choices__inner{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity));border-color:rgb(245 158 11/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.choices__list{list-style-type:none;margin:0;padding-left:0}.choices__list--single{display:inline-block;padding-right:3rem;width:100%}[dir=rtl] .choices__list--single{padding-left:3rem;padding-right:0}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:flex;flex-wrap:wrap;gap:.25rem;padding-right:1.5rem}[dir=rtl] .choices__list--multiple{padding-left:1.5rem;padding-right:0}.choices__list--multiple:not(:empty){display:flex;margin-bottom:.25rem}.choices__list--multiple .choices__item{align-items:center;box-sizing:border-box;cursor:pointer;display:inline-flex;gap:.5rem;justify-content:space-between}.choices__list--multiple .choices__item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.choices__list--multiple .choices__item{--tw-text-opacity:1;background-color:rgba(245,158,11,.1);border-radius:.5rem;color:rgb(180 83 9/var(--tw-text-opacity));font-size:.875rem;font-weight:500;letter-spacing:-.025em;line-height:1.25rem;padding:.125rem .5rem;word-break:break-all}.dark .choices__list--multiple .choices__item{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}[dir=rtl] .choices__list--multiple .choices__item>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}[dir=rtl] .choices__list--multiple .choices__item{overflow-wrap:normal;word-break:normal}.choices__list--dropdown,.choices__list[aria-expanded]{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(209 213 219/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);margin-top:.5rem;overflow:hidden;overflow-wrap:break-word;position:absolute;top:100%;visibility:hidden;width:100%;will-change:visibility;z-index:1}.dark .choices__list--dropdown,.dark .choices__list[aria-expanded]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity))}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{visibility:visible;z-index:10}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{max-height:15rem;overflow:auto;position:relative;will-change:scroll-position}.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{padding:.5rem .75rem;position:relative}[dir=rtl] .choices__list--dropdown .choices__item,[dir=rtl] .choices__list[aria-expanded] .choices__item{text-align:right}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted:after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:after{opacity:.7}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;opacity:.7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.choices__placeholder{opacity:.7}.choices__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-position:50%;background-repeat:no-repeat;border-width:0;cursor:pointer;text-indent:-9999px}.choices__button:focus{outline:2px solid transparent;outline-offset:2px}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7em .7em;height:1rem;margin-right:2.25rem;opacity:.6;padding:0;position:absolute;right:0;top:calc(50% - .55em);width:1rem}.dark .choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);opacity:.3}[dir=rtl] .choices[data-type*=select-one] .choices__button{left:0;margin-left:2.25rem;margin-right:0;right:auto}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:.75}.dark .choices[data-type*=select-one] .choices__button:focus,.dark .choices[data-type*=select-one] .choices__button:hover{opacity:.6}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-multiple] .choices__button{--tw-text-opacity:1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.6em .6em;color:rgb(180 83 9/var(--tw-text-opacity));display:inline-block;height:.75rem;opacity:.6;width:.75rem}.dark .choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);opacity:.75}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover{opacity:.75}.dark .choices[data-type*=select-multiple] .choices__button:focus,.dark .choices[data-type*=select-multiple] .choices__button:hover{opacity:1}.choices__list--dropdown .choices__input{border-color:#d1d5db!important;border-width:0 0 1px!important;padding:.5rem .75rem!important}.dark .choices__list--dropdown .choices__input::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(209 213 219/var(--tw-placeholder-opacity))}.dark .choices__list--dropdown .choices__input::placeholder{--tw-placeholder-opacity:1;color:rgb(209 213 219/var(--tw-placeholder-opacity))}.dark .choices__list--dropdown .choices__input{border-color:#4b5563!important}.choices__input{background-color:transparent!important;border-color:transparent!important;border-style:none;display:inline-block;max-width:100%;padding:0!important}.choices__input:focus{box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;outline-color:transparent!important}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;height:0;width:0}.webkit-calendar-picker-indicator\:opacity-0::-webkit-calendar-picker-indicator{opacity:0}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{background-color:#333;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity;white-space:normal}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;height:16px;width:16px}.tippy-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.tippy-content{padding:5px 9px;position:relative;z-index:1}.tippy-box[data-theme~=light]{background-color:#fff;box-shadow:0 0 20px 4px rgba(154,161,177,.15),0 4px 80px -8px rgba(36,40,47,.25),0 4px 4px -2px rgba(91,94,105,.15);color:#26323d}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff} -/*! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}html{-webkit-tap-highlight-color:transparent}:root.dark{color-scheme:dark}[dir=rtl] select{background-position:left .5rem center!important;padding-left:2.5rem;padding-right:.75rem}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){border-left-color:var(--tw-prose-quote-borders);border-left-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-sm :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-base :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-lg :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.prose-xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-2xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8333333em;margin-top:.8333333em}.prose-2xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-2xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-2xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.filament-login-page{background-image:radial-gradient(circle at top,#fef3c7,#fff 50%);background-repeat:no-repeat;position:relative}.dark .filament-login-page{background-image:radial-gradient(circle at top,#92400e,#1f2937,#111827 100%)}.filament-login-page form:before{--tw-gradient-from:#e5e7eb;--tw-gradient-to:rgba(229,231,235,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#e5e7eb;background-image:linear-gradient(to right,var(--tw-gradient-stops));height:1px;left:0;margin-left:auto;margin-right:auto;position:absolute;right:0;width:66.666667%}.dark .filament-login-page form:before{--tw-gradient-from:#374151;--tw-gradient-to:rgba(55,65,81,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#374151}.filament-login-page form:before{content:"";top:-1px;z-index:1}.filament-sidebar-header:before{--tw-gradient-from:#e5e7eb;--tw-gradient-to:rgba(229,231,235,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#e5e7eb;background-image:linear-gradient(to right,var(--tw-gradient-stops));height:1px;left:0;margin-left:auto;margin-right:auto;pointer-events:none;position:absolute;right:0;width:100%}.dark .filament-sidebar-header:before{--tw-gradient-from:#374151;--tw-gradient-to:rgba(55,65,81,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#374151}.filament-sidebar-header:before{bottom:-1px;content:"";z-index:1}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{bottom:0;left:0;right:0;top:0}.inset-4{bottom:1rem;left:1rem;right:1rem;top:1rem}.inset-y-0{bottom:0;top:0}.inset-x-0{left:0;right:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-auto{top:auto}.-top-0\.5{top:-.125rem}.-right-0\.5{right:-.125rem}.-top-0{top:0}.-right-0{right:0}.top-2{top:.5rem}.right-2{right:.5rem}.top-3{top:.75rem}.right-3{right:.75rem}.right-1{right:.25rem}.top-10{top:2.5rem}.top-1{top:.25rem}.bottom-1{bottom:.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-40{z-index:40}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.\!m-0{margin:0!important}.mx-auto{margin-left:auto;margin-right:auto}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-my-1{margin-bottom:-.25rem;margin-top:-.25rem}.-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.my-auto{margin-bottom:auto;margin-top:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-bottom:-.75rem;margin-top:-.75rem}.mb-6{margin-bottom:1.5rem}.ml-4{margin-left:1rem}.mt-2{margin-top:.5rem}.-mt-16{margin-top:-4rem}.mt-4{margin-top:1rem}.ml-1{margin-left:.25rem}.-mr-6{margin-right:-1.5rem}.ml-auto{margin-left:auto}.-mr-1{margin-right:-.25rem}.-mb-12{margin-bottom:-3rem}.-ml-2{margin-left:-.5rem}.mt-1{margin-top:.25rem}.mt-\[calc\(-1rem-1px\)\]{margin-top:calc(-1rem - 1px)}.-mb-px{margin-bottom:-1px}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.-ml-3{margin-left:-.75rem}.-ml-1\.5{margin-left:-.375rem}.-ml-1{margin-left:-.25rem}.-mr-2{margin-right:-.5rem}.ml-2{margin-left:.5rem}.-mr-3{margin-right:-.75rem}.-mr-1\.5{margin-right:-.375rem}.mr-0{margin-right:0}.mb-2{margin-bottom:.5rem}.mr-6{margin-right:1.5rem}.mb-3{margin-bottom:.75rem}.ml-0\.5{margin-left:.125rem}.ml-0{margin-left:0}.mr-3{margin-right:.75rem}.-mb-1\.5{margin-bottom:-.375rem}.-mt-0\.5{margin-top:-.125rem}.-mb-1{margin-bottom:-.25rem}.-mt-0{margin-top:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-full{height:100%}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-3{height:.75rem}.h-screen{height:100vh}.h-\[4rem\]{height:4rem}.h-7{height:1.75rem}.h-0{height:0}.h-14{height:3.5rem}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.min-h-\[40px\]{min-height:40px}.min-h-\[56px\]{min-height:56px}.min-h-\[2\.25rem\]{min-height:2.25rem}.min-h-\[2rem\]{min-height:2rem}.min-h-\[2\.75rem\]{min-height:2.75rem}.w-full{width:100%}.w-24{width:6rem}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-16{width:4rem}.w-5{width:1.25rem}.w-screen{width:100vw}.w-4{width:1rem}.w-3{width:.75rem}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-7{width:1.75rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-20{width:5rem}.w-32{width:8rem}.w-12{width:3rem}.w-8{width:2rem}.w-11{width:2.75rem}.w-1{width:.25rem}.w-9{width:2.25rem}.min-w-\[16rem\]{min-width:16rem}.min-w-0{min-width:0}.min-w-\[1rem\]{min-width:1rem}.min-w-\[2rem\]{min-width:2rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.max-w-lg{max-width:32rem}.max-w-\[20em\]{max-width:20em}.max-w-none{max-width:none}.max-w-\[14rem\]{max-width:14rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-auto{table-layout:auto}.translate-x-0{--tw-translate-x:0px}.-translate-x-full,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.translate-x-5{--tw-translate-x:1.25rem}.-translate-x-5,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-12,.translate-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x:3rem}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-12,.translate-y-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-12{--tw-translate-y:3rem}.translate-x-full{--tw-translate-x:100%}.translate-x-full,.translate-y-8{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y:2rem}.translate-y-0{--tw-translate-y:0px}.-rotate-180,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.-skew-x-12{--tw-skew-x:-12deg}.-skew-x-12,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.resize-none{resize:none}.resize{resize:both}.columns-1{-moz-columns:1;column-count:1}.columns-2{-moz-columns:2;column-count:2}.columns-3{-moz-columns:3;column-count:3}.columns-4{-moz-columns:4;column-count:4}.columns-5{-moz-columns:5;column-count:5}.columns-6{-moz-columns:6;column-count:6}.columns-7{-moz-columns:7;column-count:7}.columns-8{-moz-columns:8;column-count:8}.columns-9{-moz-columns:9;column-count:9}.columns-10{-moz-columns:10;column-count:10}.columns-11{-moz-columns:11;column-count:11}.columns-12{-moz-columns:12;column-count:12}.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.gap-6{gap:1.5rem}.gap-1{gap:.25rem}.gap-0\.5{gap:.125rem}.gap-0{gap:0}.gap-y-6{row-gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(209 213 219/var(--tw-divide-opacity))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-danger-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity))}.border-danger-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.border-success-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.border-warning-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400\/10{background-color:rgba(156,163,175,.1)}.bg-gray-50\/80{background-color:rgba(249,250,251,.8)}.bg-gray-900\/50{background-color:rgba(17,24,39,.5)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-gray-500\/5{background-color:hsla(220,9%,46%,.05)}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-danger-500\/10{background-color:rgba(244,63,94,.1)}.bg-gray-500\/10{background-color:hsla(220,9%,46%,.1)}.bg-success-500\/10{background-color:rgba(34,197,94,.1)}.bg-primary-500\/10,.bg-warning-500\/10{background-color:rgba(245,158,11,.1)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.bg-danger-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-success-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-warning-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-success-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.bg-danger-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity))}.bg-warning-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-2{padding:.5rem}.p-8{padding:2rem}.p-6{padding:1.5rem}.p-1{padding:.25rem}.p-0{padding:0}.p-4{padding:1rem}.p-3{padding:.75rem}.p-1\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-0{padding-bottom:0;padding-top:0}.px-1{padding-left:.25rem;padding-right:.25rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.pl-10{padding-left:2.5rem}.pr-2{padding-right:.5rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-1{padding-right:.25rem}.pr-6{padding-right:1.5rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.pl-2{padding-left:.5rem}.pb-2{padding-bottom:.5rem}.pl-9{padding-left:2.25rem}.pr-8{padding-right:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-thin{font-weight:100}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-extrabold{font-weight:800}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-loose{line-height:2}.leading-tight{line-height:1.25}.leading-4{line-height:1rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-danger-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-success-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-warning-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-danger-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity))}.text-primary-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity))}.text-success-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity))}.text-warning-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity))}.text-danger-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.text-success-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-warning-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-danger-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.text-success-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-primary-700,.text-warning-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.text-danger-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.text-success-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-warning-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.caret-black{caret-color:#000}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.opacity-50{opacity:.5}.opacity-25{opacity:.25}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-2xl,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-danger-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-danger-600{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity))}.ring-black\/5{--tw-ring-color:rgba(0,0,0,.05)}.ring-primary-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.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)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-saturate-150{-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-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.even\:bg-gray-100:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.invalid\:text-gray-400:invalid{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.focus-within\:border-primary-500:focus-within{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.focus-within\:ring-primary-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.hover\:bg-gray-500\/5:hover{background-color:hsla(220,9%,46%,.05)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-primary-600\/20:hover{background-color:rgba(217,119,6,.2)}.hover\:bg-success-600\/20:hover{background-color:rgba(22,163,74,.2)}.hover\:bg-danger-600\/20:hover{background-color:rgba(225,29,72,.2)}.hover\:bg-warning-600\/20:hover{background-color:rgba(217,119,6,.2)}.hover\:bg-gray-600\/20:hover{background-color:rgba(75,85,99,.2)}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.hover\:bg-success-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.hover\:bg-danger-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.hover\:bg-warning-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.hover\:bg-gray-500\/10:hover{background-color:hsla(220,9%,46%,.1)}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-danger-500:hover{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-danger-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.hover\:text-success-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.hover\:text-warning-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}.focus\:border-primary-600:focus{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.focus\:bg-primary-500\/10:focus{background-color:rgba(245,158,11,.1)}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\:bg-gray-500\/5:focus{background-color:hsla(220,9%,46%,.05)}.focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.focus\:bg-primary-700\/20:focus{background-color:rgba(180,83,9,.2)}.focus\:bg-success-700\/20:focus{background-color:rgba(21,128,61,.2)}.focus\:bg-danger-700\/20:focus{background-color:rgba(190,18,60,.2)}.focus\:bg-warning-700\/20:focus{background-color:rgba(180,83,9,.2)}.focus\:bg-gray-700\/20:focus{background-color:rgba(55,65,81,.2)}.focus\:bg-primary-50:focus{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.focus\:bg-primary-700:focus{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.focus\:bg-success-700:focus{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.focus\:bg-danger-700:focus{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}.focus\:bg-warning-700:focus{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.focus\:bg-danger-500\/10:focus{background-color:rgba(244,63,94,.1)}.focus\:bg-gray-500\/10:focus{background-color:hsla(220,9%,46%,.1)}.focus\:bg-success-500\/10:focus{background-color:rgba(34,197,94,.1)}.focus\:bg-warning-500\/10:focus{background-color:rgba(245,158,11,.1)}.focus\:bg-primary-500:focus{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.focus\:bg-danger-500:focus{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.focus\:bg-success-500:focus{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.focus\:bg-warning-500:focus{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.focus\:text-primary-600:focus{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:text-primary-500:focus{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.focus\:underline:focus{text-decoration-line:underline}.focus\:placeholder-gray-400:focus::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.focus\:placeholder-gray-500:focus::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity))}.focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-primary-700:focus{--tw-ring-offset-color:#b45309}.focus\:ring-offset-success-700:focus{--tw-ring-offset-color:#15803d}.focus\:ring-offset-danger-700:focus{--tw-ring-offset-color:#be123c}.focus\:ring-offset-warning-700:focus{--tw-ring-offset-color:#b45309}.focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-70:disabled{opacity:.7}.group:focus-within .group-focus-within\:text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.group:hover .group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.group:hover .group-hover\:text-primary-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:hover .group-hover\:text-danger-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.group:hover .group-hover\:text-success-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.group:hover .group-hover\:text-warning-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.group:focus .group-focus\:text-primary-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:focus .group-focus\:text-danger-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.group:focus .group-focus\:text-success-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.group:focus .group-focus\:text-warning-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:focus .group-focus\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}[dir=rtl] .rtl\:right-auto{right:auto}[dir=rtl] .rtl\:left-0{left:0}[dir=rtl] .rtl\:left-auto{left:auto}[dir=rtl] .rtl\:right-0{right:0}[dir=rtl] .rtl\:left-2{left:.5rem}[dir=rtl] .rtl\:left-3{left:.75rem}[dir=rtl] .rtl\:left-1{left:.25rem}[dir=rtl] .rtl\:-ml-6{margin-left:-1.5rem}[dir=rtl] .rtl\:ml-0{margin-left:0}[dir=rtl] .rtl\:mr-auto{margin-right:auto}[dir=rtl] .rtl\:ml-1{margin-left:.25rem}[dir=rtl] .rtl\:-mr-2{margin-right:-.5rem}[dir=rtl] .rtl\:ml-2{margin-left:.5rem}[dir=rtl] .rtl\:-mr-3{margin-right:-.75rem}[dir=rtl] .rtl\:-mr-1\.5{margin-right:-.375rem}[dir=rtl] .rtl\:-mr-1{margin-right:-.25rem}[dir=rtl] .rtl\:mr-1{margin-right:.25rem}[dir=rtl] .rtl\:-ml-2{margin-left:-.5rem}[dir=rtl] .rtl\:mr-2{margin-right:.5rem}[dir=rtl] .rtl\:-ml-3{margin-left:-.75rem}[dir=rtl] .rtl\:-ml-1\.5{margin-left:-.375rem}[dir=rtl] .rtl\:-ml-1{margin-left:-.25rem}[dir=rtl] .rtl\:mr-0{margin-right:0}[dir=rtl] .rtl\:ml-6{margin-left:1.5rem}[dir=rtl] .rtl\:translate-x-full{--tw-translate-x:100%}[dir=rtl] .rtl\:-translate-x-5,[dir=rtl] .rtl\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:-translate-x-5{--tw-translate-x:-1.25rem}[dir=rtl] .rtl\:rotate-180{--tw-rotate:180deg}[dir=rtl] .rtl\:-scale-x-100,[dir=rtl] .rtl\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:-scale-x-100{--tw-scale-x:-1}[dir=rtl] .rtl\:flex-row-reverse{flex-direction:row-reverse}[dir=rtl] .rtl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}[dir=rtl] .rtl\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}[dir=rtl] .rtl\:whitespace-normal{white-space:normal}[dir=rtl] .rtl\:border-l{border-left-width:1px}[dir=rtl] .rtl\:border-r-0{border-right-width:0}[dir=rtl] .rtl\:pl-2{padding-left:.5rem}[dir=rtl] .rtl\:pl-10{padding-left:2.5rem}[dir=rtl] .rtl\:pr-3{padding-right:.75rem}[dir=rtl] .rtl\:text-right{text-align:right}.dark .dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark .dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity))}.dark .dark\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}.dark .dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark .dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark .dark\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.dark .dark\:border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.dark .dark\:border-primary-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.dark .dark\:border-success-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.dark .dark\:border-danger-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity))}.dark .dark\:border-warning-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.dark .dark\:border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:bg-gray-900\/50{background-color:rgba(17,24,39,.5)}.dark .dark\:bg-gray-500\/20{background-color:hsla(220,9%,46%,.2)}.dark .dark\:bg-primary-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.dark .dark\:bg-gray-500\/10{background-color:hsla(220,9%,46%,.1)}.dark .dark\:bg-primary-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.dark .dark\:bg-gray-800\/60{background-color:rgba(31,41,55,.6)}.dark .dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .dark\:bg-white\/10{background-color:hsla(0,0%,100%,.1)}.dark .dark\:bg-gray-700\/40{background-color:rgba(55,65,81,.4)}.dark .dark\:fill-current{fill:currentColor}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark .dark\:text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark .dark\:text-danger-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.dark .dark\:text-primary-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.dark .dark\:text-success-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.dark .dark\:text-warning-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.dark .dark\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.dark .dark\:text-danger-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.dark .dark\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.dark .dark\:text-success-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.dark .dark\:text-warning-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.dark .dark\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.dark .dark\:text-danger-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity))}.dark .dark\:text-success-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.dark .dark\:text-primary-300,.dark .dark\:text-warning-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}.dark .dark\:placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.dark .dark\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.dark .dark\:caret-white{caret-color:#fff}.dark .dark\:ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.dark .dark\:even\:bg-gray-900:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:checked\:border-primary-600:checked{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.dark .dark\:checked\:bg-primary-500:checked{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.dark .dark\:checked\:bg-primary-600:checked{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.dark .dark\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-800\/30:hover{background-color:rgba(31,41,55,.3)}.dark .dark\:hover\:bg-primary-500\/20:hover{background-color:rgba(245,158,11,.2)}.dark .dark\:hover\:bg-success-500\/20:hover{background-color:rgba(34,197,94,.2)}.dark .dark\:hover\:bg-danger-500\/20:hover{background-color:rgba(244,63,94,.2)}.dark .dark\:hover\:bg-warning-500\/20:hover{background-color:rgba(245,158,11,.2)}.dark .dark\:hover\:bg-gray-400\/20:hover{background-color:rgba(156,163,175,.2)}.dark .dark\:hover\:bg-gray-500\/20:hover{background-color:hsla(220,9%,46%,.2)}.dark .dark\:hover\:bg-gray-300\/5:hover{background-color:rgba(209,213,219,.05)}.dark .dark\:hover\:bg-gray-500\/10:hover{background-color:hsla(220,9%,46%,.1)}.dark .dark\:hover\:bg-gray-400\/5:hover{background-color:rgba(156,163,175,.05)}.dark .dark\:hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.dark .dark\:hover\:text-primary-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.dark .dark\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:hover\:text-danger-400:hover{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.dark .dark\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark .dark\:hover\:text-success-400:hover{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark .dark\:hover\:text-warning-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.dark .dark\:focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.dark .dark\:focus\:border-primary-400:focus{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity))}.dark .dark\:focus\:bg-primary-600\/20:focus{background-color:rgba(217,119,6,.2)}.dark .dark\:focus\:bg-success-600\/20:focus{background-color:rgba(22,163,74,.2)}.dark .dark\:focus\:bg-danger-600\/20:focus{background-color:rgba(225,29,72,.2)}.dark .dark\:focus\:bg-warning-600\/20:focus{background-color:rgba(217,119,6,.2)}.dark .dark\:focus\:bg-gray-600\/20:focus{background-color:rgba(75,85,99,.2)}.dark .dark\:focus\:bg-gray-800\/20:focus{background-color:rgba(31,41,55,.2)}.dark .dark\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:focus\:text-primary-400:focus{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.dark .dark\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.dark .dark\:focus\:ring-offset-primary-600:focus{--tw-ring-offset-color:#d97706}.dark .dark\:focus\:ring-offset-success-600:focus{--tw-ring-offset-color:#16a34a}.dark .dark\:focus\:ring-offset-danger-600:focus{--tw-ring-offset-color:#e11d48}.dark .dark\:focus\:ring-offset-warning-600:focus{--tw-ring-offset-color:#d97706}.dark .dark\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.dark .group:hover .dark\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .group:hover .dark\:group-hover\:text-primary-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-full{grid-column:1/-1}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:max-w-lg{max-width:32rem}.sm\:columns-1{-moz-columns:1;column-count:1}.sm\:columns-2{-moz-columns:2;column-count:2}.sm\:columns-3{-moz-columns:3;column-count:3}.sm\:columns-4{-moz-columns:4;column-count:4}.sm\:columns-5{-moz-columns:5;column-count:5}.sm\:columns-6{-moz-columns:6;column-count:6}.sm\:columns-7{-moz-columns:7;column-count:7}.sm\:columns-8{-moz-columns:8;column-count:8}.sm\:columns-9{-moz-columns:9;column-count:9}.sm\:columns-10{-moz-columns:10;column-count:10}.sm\:columns-11{-moz-columns:11;column-count:11}.sm\:columns-12{-moz-columns:12;column-count:12}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:gap-4{gap:1rem}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\:pt-2{padding-top:.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}[dir=rtl] .sm\:rtl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}}@media (min-width:768px){.md\:relative{position:relative}.md\:bottom-0{bottom:0}.md\:top-auto{top:auto}.md\:top-0{top:0}.md\:right-0{right:0}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-full{grid-column:1/-1}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:-mr-2{margin-right:-.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:h-1{height:.25rem}.md\:h-10{height:2.5rem}.md\:h-5{height:1.25rem}.md\:w-full{width:100%}.md\:w-10{width:2.5rem}.md\:w-5{width:1.25rem}.md\:max-w-md{max-width:28rem}.md\:flex-1{flex:1 1 0%}.md\:columns-1{-moz-columns:1;column-count:1}.md\:columns-2{-moz-columns:2;column-count:2}.md\:columns-3{-moz-columns:3;column-count:3}.md\:columns-4{-moz-columns:4;column-count:4}.md\:columns-5{-moz-columns:5;column-count:5}.md\:columns-6{-moz-columns:6;column-count:6}.md\:columns-7{-moz-columns:7;column-count:7}.md\:columns-8{-moz-columns:8;column-count:8}.md\:columns-9{-moz-columns:9;column-count:9}.md\:columns-10{-moz-columns:10;column-count:10}.md\:columns-11{-moz-columns:11;column-count:11}.md\:columns-12{-moz-columns:12;column-count:12}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:pl-20{padding-left:5rem}.md\:pl-12{padding-left:3rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}[dir=rtl] .rtl\:md\:left-0{left:0}[dir=rtl] .rtl\:md\:ml-0{margin-left:0}[dir=rtl] .rtl\:md\:pl-0{padding-left:0}[dir=rtl] .rtl\:md\:pr-20{padding-right:5rem}[dir=rtl] .rtl\:md\:pr-12{padding-right:3rem}}@media (min-width:1024px){.lg\:z-0{z-index:0}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-full{grid-column:1/-1}.lg\:mr-4{margin-right:1rem}.lg\:ml-3{margin-left:.75rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:max-w-\[var\(--sidebar-width\)\]{max-width:var(--sidebar-width)}.lg\:max-w-\[var\(--collapsed-sidebar-width\)\]{max-width:var(--collapsed-sidebar-width)}.lg\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:columns-1{-moz-columns:1;column-count:1}.lg\:columns-2{-moz-columns:2;column-count:2}.lg\:columns-3{-moz-columns:3;column-count:3}.lg\:columns-4{-moz-columns:4;column-count:4}.lg\:columns-5{-moz-columns:5;column-count:5}.lg\:columns-6{-moz-columns:6;column-count:6}.lg\:columns-7{-moz-columns:7;column-count:7}.lg\:columns-8{-moz-columns:8;column-count:8}.lg\:columns-9{-moz-columns:9;column-count:9}.lg\:columns-10{-moz-columns:10;column-count:10}.lg\:columns-11{-moz-columns:11;column-count:11}.lg\:columns-12{-moz-columns:12;column-count:12}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-8{gap:2rem}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:border-r{border-right-width:1px}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:pl-\[var\(--collapsed-sidebar-width\)\]{padding-left:var(--collapsed-sidebar-width)}.lg\:pl-\[var\(--sidebar-width\)\]{padding-left:var(--sidebar-width)}.lg\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}[dir=rtl] .rtl\:lg\:mr-0{margin-right:0}[dir=rtl] .rtl\:lg\:ml-4{margin-left:1rem}[dir=rtl] .rtl\:lg\:-translate-x-0{--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:lg\:border-r-0{border-right-width:0}[dir=rtl] .rtl\:lg\:border-l{border-left-width:1px}[dir=rtl] .rtl\:lg\:pr-\[var\(--collapsed-sidebar-width\)\]{padding-right:var(--collapsed-sidebar-width)}[dir=rtl] .rtl\:lg\:pr-\[var\(--sidebar-width\)\]{padding-right:var(--sidebar-width)}[dir=rtl] .rtl\:lg\:pl-0{padding-left:0}}@media (min-width:1280px){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-span-full{grid-column:1/-1}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:hidden{display:none}.xl\:columns-1{-moz-columns:1;column-count:1}.xl\:columns-2{-moz-columns:2;column-count:2}.xl\:columns-3{-moz-columns:3;column-count:3}.xl\:columns-4{-moz-columns:4;column-count:4}.xl\:columns-5{-moz-columns:5;column-count:5}.xl\:columns-6{-moz-columns:6;column-count:6}.xl\:columns-7{-moz-columns:7;column-count:7}.xl\:columns-8{-moz-columns:8;column-count:8}.xl\:columns-9{-moz-columns:9;column-count:9}.xl\:columns-10{-moz-columns:10;column-count:10}.xl\:columns-11{-moz-columns:11;column-count:11}.xl\:columns-12{-moz-columns:12;column-count:12}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width:1536px){.\32xl\:col-span-1{grid-column:span 1/span 1}.\32xl\:col-span-2{grid-column:span 2/span 2}.\32xl\:col-span-3{grid-column:span 3/span 3}.\32xl\:col-span-4{grid-column:span 4/span 4}.\32xl\:col-span-5{grid-column:span 5/span 5}.\32xl\:col-span-6{grid-column:span 6/span 6}.\32xl\:col-span-7{grid-column:span 7/span 7}.\32xl\:col-span-8{grid-column:span 8/span 8}.\32xl\:col-span-9{grid-column:span 9/span 9}.\32xl\:col-span-10{grid-column:span 10/span 10}.\32xl\:col-span-11{grid-column:span 11/span 11}.\32xl\:col-span-12{grid-column:span 12/span 12}.\32xl\:col-span-full{grid-column:1/-1}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:hidden{display:none}.\32xl\:columns-1{-moz-columns:1;column-count:1}.\32xl\:columns-2{-moz-columns:2;column-count:2}.\32xl\:columns-3{-moz-columns:3;column-count:3}.\32xl\:columns-4{-moz-columns:4;column-count:4}.\32xl\:columns-5{-moz-columns:5;column-count:5}.\32xl\:columns-6{-moz-columns:6;column-count:6}.\32xl\:columns-7{-moz-columns:7;column-count:7}.\32xl\:columns-8{-moz-columns:8;column-count:8}.\32xl\:columns-9{-moz-columns:9;column-count:9}.\32xl\:columns-10{-moz-columns:10;column-count:10}.\32xl\:columns-11{-moz-columns:11;column-count:11}.\32xl\:columns-12{-moz-columns:12;column-count:12}.\32xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.\32xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.\32xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.\32xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.\32xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.\32xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.\32xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}} \ No newline at end of file +/*! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}html{-webkit-tap-highlight-color:transparent}:root.dark{color-scheme:dark}[dir=rtl] select{background-position:left .5rem center!important;padding-left:2.5rem;padding-right:.75rem}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){border-left-color:var(--tw-prose-quote-borders);border-left-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-sm :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-base :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-lg :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.prose-xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-2xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8333333em;margin-top:.8333333em}.prose-2xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-2xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-2xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.filament-login-page{background-image:radial-gradient(circle at top,#fef3c7,#fff 50%);background-repeat:no-repeat;position:relative}.dark .filament-login-page{background-image:radial-gradient(circle at top,#92400e,#1f2937,#111827 100%)}.filament-login-page form:before{--tw-gradient-from:#e5e7eb;--tw-gradient-to:rgba(229,231,235,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#e5e7eb;background-image:linear-gradient(to right,var(--tw-gradient-stops));height:1px;left:0;margin-left:auto;margin-right:auto;position:absolute;right:0;width:66.666667%}.dark .filament-login-page form:before{--tw-gradient-from:#374151;--tw-gradient-to:rgba(55,65,81,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#374151}.filament-login-page form:before{content:"";top:-1px;z-index:1}.filament-sidebar-header:before{--tw-gradient-from:#e5e7eb;--tw-gradient-to:rgba(229,231,235,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#e5e7eb;background-image:linear-gradient(to right,var(--tw-gradient-stops));height:1px;left:0;margin-left:auto;margin-right:auto;pointer-events:none;position:absolute;right:0;width:100%}.dark .filament-sidebar-header:before{--tw-gradient-from:#374151;--tw-gradient-to:rgba(55,65,81,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(251,191,36,0);--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to);--tw-gradient-to:#374151}.filament-sidebar-header:before{bottom:-1px;content:"";z-index:1}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{bottom:0;left:0;right:0;top:0}.inset-4{bottom:1rem;left:1rem;right:1rem;top:1rem}.inset-y-0{bottom:0;top:0}.inset-x-0{left:0;right:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-auto{top:auto}.-top-0\.5{top:-.125rem}.-right-0\.5{right:-.125rem}.-top-0{top:0}.-right-0{right:0}.top-2{top:.5rem}.right-2{right:.5rem}.top-3{top:.75rem}.right-3{right:.75rem}.right-1{right:.25rem}.top-10{top:2.5rem}.top-1{top:.25rem}.bottom-1{bottom:.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-40{z-index:40}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.\!m-0{margin:0!important}.mx-auto{margin-left:auto;margin-right:auto}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-my-1{margin-bottom:-.25rem;margin-top:-.25rem}.-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.my-auto{margin-bottom:auto;margin-top:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-bottom:-.75rem;margin-top:-.75rem}.ml-4{margin-left:1rem}.mt-2{margin-top:.5rem}.-mt-16{margin-top:-4rem}.mt-4{margin-top:1rem}.ml-1{margin-left:.25rem}.-mr-6{margin-right:-1.5rem}.ml-auto{margin-left:auto}.-mr-1{margin-right:-.25rem}.-mb-12{margin-bottom:-3rem}.-ml-2{margin-left:-.5rem}.mt-1{margin-top:.25rem}.mt-\[calc\(-1rem-1px\)\]{margin-top:calc(-1rem - 1px)}.-mb-px{margin-bottom:-1px}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.-ml-3{margin-left:-.75rem}.-ml-1\.5{margin-left:-.375rem}.-ml-1{margin-left:-.25rem}.-mr-2{margin-right:-.5rem}.ml-2{margin-left:.5rem}.-mr-3{margin-right:-.75rem}.-mr-1\.5{margin-right:-.375rem}.mr-0{margin-right:0}.mb-2{margin-bottom:.5rem}.mr-6{margin-right:1.5rem}.mb-3{margin-bottom:.75rem}.ml-0\.5{margin-left:.125rem}.ml-0{margin-left:0}.mr-3{margin-right:.75rem}.-mb-1\.5{margin-bottom:-.375rem}.-mt-0\.5{margin-top:-.125rem}.-mb-1{margin-bottom:-.25rem}.-mt-0{margin-top:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-full{height:100%}.h-8{height:2rem}.h-3{height:.75rem}.h-screen{height:100vh}.h-\[4rem\]{height:4rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-0{height:0}.h-14{height:3.5rem}.h-9{height:2.25rem}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.min-h-\[40px\]{min-height:40px}.min-h-\[56px\]{min-height:56px}.min-h-\[2\.25rem\]{min-height:2.25rem}.min-h-\[2rem\]{min-height:2rem}.min-h-\[2\.75rem\]{min-height:2.75rem}.w-full{width:100%}.w-24{width:6rem}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-16{width:4rem}.w-5{width:1.25rem}.w-screen{width:100vw}.w-3{width:.75rem}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-4{width:1rem}.w-7{width:1.75rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-20{width:5rem}.w-32{width:8rem}.w-12{width:3rem}.w-8{width:2rem}.w-11{width:2.75rem}.w-1{width:.25rem}.w-9{width:2.25rem}.min-w-\[16rem\]{min-width:16rem}.min-w-\[1rem\]{min-width:1rem}.min-w-0{min-width:0}.min-w-\[2rem\]{min-width:2rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.max-w-lg{max-width:32rem}.max-w-\[20em\]{max-width:20em}.max-w-none{max-width:none}.max-w-\[14rem\]{max-width:14rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-auto{table-layout:auto}.translate-x-0{--tw-translate-x:0px}.-translate-x-full,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.translate-x-5{--tw-translate-x:1.25rem}.-translate-x-5,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-12,.translate-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x:3rem}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-12,.translate-y-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-12{--tw-translate-y:3rem}.translate-x-full{--tw-translate-x:100%}.translate-x-full,.translate-y-8{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y:2rem}.translate-y-0{--tw-translate-y:0px}.-rotate-180,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate:-180deg}.-skew-x-12{--tw-skew-x:-12deg}.-skew-x-12,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.resize-none{resize:none}.columns-1{-moz-columns:1;column-count:1}.columns-2{-moz-columns:2;column-count:2}.columns-3{-moz-columns:3;column-count:3}.columns-4{-moz-columns:4;column-count:4}.columns-5{-moz-columns:5;column-count:5}.columns-6{-moz-columns:6;column-count:6}.columns-7{-moz-columns:7;column-count:7}.columns-8{-moz-columns:8;column-count:8}.columns-9{-moz-columns:9;column-count:9}.columns-10{-moz-columns:10;column-count:10}.columns-11{-moz-columns:11;column-count:11}.columns-12{-moz-columns:12;column-count:12}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-0\.5{gap:.125rem}.gap-0{gap:0}.gap-y-6{row-gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(209 213 219/var(--tw-divide-opacity))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.rounded-lg{border-radius:.5rem}.rounded-2xl{border-radius:1rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-transparent{border-color:transparent}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-danger-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity))}.border-danger-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.border-success-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.border-warning-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400\/10{background-color:rgba(156,163,175,.1)}.bg-gray-50\/80{background-color:rgba(249,250,251,.8)}.bg-gray-900\/50{background-color:rgba(17,24,39,.5)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-gray-500\/5{background-color:hsla(220,9%,46%,.05)}.bg-primary-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-danger-500\/10{background-color:rgba(244,63,94,.1)}.bg-gray-500\/10{background-color:hsla(220,9%,46%,.1)}.bg-success-500\/10{background-color:rgba(34,197,94,.1)}.bg-primary-500\/10,.bg-warning-500\/10{background-color:rgba(245,158,11,.1)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.bg-danger-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-success-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-warning-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-success-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.bg-danger-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity))}.bg-warning-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-2{padding:.5rem}.p-8{padding:2rem}.p-1{padding:.25rem}.p-6{padding:1.5rem}.p-0{padding:0}.p-4{padding:1rem}.p-3{padding:.75rem}.p-1\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-0{padding-bottom:0;padding-top:0}.px-1{padding-left:.25rem;padding-right:.25rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.pl-10{padding-left:2.5rem}.pr-2{padding-right:.5rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-1{padding-right:.25rem}.pr-6{padding-right:1.5rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.pl-2{padding-left:.5rem}.pb-2{padding-bottom:.5rem}.pl-9{padding-left:2.25rem}.pr-8{padding-right:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-thin{font-weight:100}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-extrabold{font-weight:800}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-loose{line-height:2}.leading-tight{line-height:1.25}.leading-4{line-height:1rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-danger-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.text-success-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-primary-700,.text-warning-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-danger-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-danger-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.text-danger-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.text-success-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-warning-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.text-success-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-warning-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.text-success-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-warning-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.caret-black{caret-color:#000}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.opacity-50{opacity:.5}.opacity-25{opacity:.25}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-danger-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-danger-600{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity))}.ring-black\/5{--tw-ring-color:rgba(0,0,0,.05)}.ring-primary-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.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)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-saturate-150{-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-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.even\:bg-gray-100:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.focus-within\:border-primary-500:focus-within{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.focus-within\:ring-primary-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.hover\:bg-gray-500\/5:hover{background-color:hsla(220,9%,46%,.05)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-primary-600\/20:hover{background-color:rgba(217,119,6,.2)}.hover\:bg-success-600\/20:hover{background-color:rgba(22,163,74,.2)}.hover\:bg-danger-600\/20:hover{background-color:rgba(225,29,72,.2)}.hover\:bg-warning-600\/20:hover{background-color:rgba(217,119,6,.2)}.hover\:bg-gray-600\/20:hover{background-color:rgba(75,85,99,.2)}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.hover\:bg-success-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.hover\:bg-danger-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.hover\:bg-warning-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.hover\:bg-gray-500\/10:hover{background-color:hsla(220,9%,46%,.1)}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-danger-500:hover{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-danger-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.hover\:text-success-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.hover\:text-warning-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}.focus\:border-primary-600:focus{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.focus\:bg-primary-500\/10:focus{background-color:rgba(245,158,11,.1)}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\:bg-gray-500\/5:focus{background-color:hsla(220,9%,46%,.05)}.focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.focus\:bg-primary-700\/20:focus{background-color:rgba(180,83,9,.2)}.focus\:bg-success-700\/20:focus{background-color:rgba(21,128,61,.2)}.focus\:bg-danger-700\/20:focus{background-color:rgba(190,18,60,.2)}.focus\:bg-warning-700\/20:focus{background-color:rgba(180,83,9,.2)}.focus\:bg-gray-700\/20:focus{background-color:rgba(55,65,81,.2)}.focus\:bg-primary-50:focus{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.focus\:bg-primary-700:focus{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.focus\:bg-success-700:focus{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.focus\:bg-danger-700:focus{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}.focus\:bg-warning-700:focus{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.focus\:bg-danger-500\/10:focus{background-color:rgba(244,63,94,.1)}.focus\:bg-gray-500\/10:focus{background-color:hsla(220,9%,46%,.1)}.focus\:bg-success-500\/10:focus{background-color:rgba(34,197,94,.1)}.focus\:bg-warning-500\/10:focus{background-color:rgba(245,158,11,.1)}.focus\:bg-primary-500:focus{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.focus\:bg-danger-500:focus{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.focus\:bg-success-500:focus{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.focus\:bg-warning-500:focus{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.focus\:text-primary-600:focus{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:text-primary-500:focus{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.focus\:underline:focus{text-decoration-line:underline}.focus\:placeholder-gray-400:focus::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.focus\:placeholder-gray-500:focus::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity))}.focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-primary-700:focus{--tw-ring-offset-color:#b45309}.focus\:ring-offset-success-700:focus{--tw-ring-offset-color:#15803d}.focus\:ring-offset-danger-700:focus{--tw-ring-offset-color:#be123c}.focus\:ring-offset-warning-700:focus{--tw-ring-offset-color:#b45309}.focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-70:disabled{opacity:.7}.group:focus-within .group-focus-within\:text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.group:hover .group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.group:hover .group-hover\:text-primary-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:hover .group-hover\:text-danger-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.group:hover .group-hover\:text-success-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.group:hover .group-hover\:text-warning-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.group:focus .group-focus\:text-primary-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:focus .group-focus\:text-danger-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.group:focus .group-focus\:text-success-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.group:focus .group-focus\:text-warning-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.group:focus .group-focus\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}[dir=rtl] .rtl\:right-auto{right:auto}[dir=rtl] .rtl\:left-0{left:0}[dir=rtl] .rtl\:left-auto{left:auto}[dir=rtl] .rtl\:right-0{right:0}[dir=rtl] .rtl\:left-2{left:.5rem}[dir=rtl] .rtl\:left-3{left:.75rem}[dir=rtl] .rtl\:left-1{left:.25rem}[dir=rtl] .rtl\:-ml-6{margin-left:-1.5rem}[dir=rtl] .rtl\:ml-0{margin-left:0}[dir=rtl] .rtl\:mr-auto{margin-right:auto}[dir=rtl] .rtl\:ml-1{margin-left:.25rem}[dir=rtl] .rtl\:-mr-2{margin-right:-.5rem}[dir=rtl] .rtl\:ml-2{margin-left:.5rem}[dir=rtl] .rtl\:-mr-3{margin-right:-.75rem}[dir=rtl] .rtl\:-mr-1\.5{margin-right:-.375rem}[dir=rtl] .rtl\:-mr-1{margin-right:-.25rem}[dir=rtl] .rtl\:mr-1{margin-right:.25rem}[dir=rtl] .rtl\:-ml-2{margin-left:-.5rem}[dir=rtl] .rtl\:mr-2{margin-right:.5rem}[dir=rtl] .rtl\:-ml-3{margin-left:-.75rem}[dir=rtl] .rtl\:-ml-1\.5{margin-left:-.375rem}[dir=rtl] .rtl\:-ml-1{margin-left:-.25rem}[dir=rtl] .rtl\:mr-0{margin-right:0}[dir=rtl] .rtl\:ml-6{margin-left:1.5rem}[dir=rtl] .rtl\:translate-x-full{--tw-translate-x:100%}[dir=rtl] .rtl\:-translate-x-5,[dir=rtl] .rtl\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:-translate-x-5{--tw-translate-x:-1.25rem}[dir=rtl] .rtl\:-translate-x-full{--tw-translate-x:-100%}[dir=rtl] .rtl\:-translate-x-full,[dir=rtl] .rtl\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:rotate-180{--tw-rotate:180deg}[dir=rtl] .rtl\:-scale-x-100{--tw-scale-x:-1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:flex-row-reverse{flex-direction:row-reverse}[dir=rtl] .rtl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}[dir=rtl] .rtl\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}[dir=rtl] .rtl\:whitespace-normal{white-space:normal}[dir=rtl] .rtl\:border-l{border-left-width:1px}[dir=rtl] .rtl\:border-r-0{border-right-width:0}[dir=rtl] .rtl\:pl-2{padding-left:.5rem}[dir=rtl] .rtl\:pl-10{padding-left:2.5rem}[dir=rtl] .rtl\:pr-3{padding-right:.75rem}[dir=rtl] .rtl\:text-right{text-align:right}.dark .dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark .dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity))}.dark .dark\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}.dark .dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark .dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark .dark\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.dark .dark\:border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.dark .dark\:border-primary-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.dark .dark\:border-success-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.dark .dark\:border-danger-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity))}.dark .dark\:border-warning-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.dark .dark\:border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:bg-gray-900\/50{background-color:rgba(17,24,39,.5)}.dark .dark\:bg-gray-500\/20{background-color:hsla(220,9%,46%,.2)}.dark .dark\:bg-primary-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.dark .dark\:bg-gray-500\/10{background-color:hsla(220,9%,46%,.1)}.dark .dark\:bg-primary-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.dark .dark\:bg-gray-800\/60{background-color:rgba(31,41,55,.6)}.dark .dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .dark\:bg-white\/10{background-color:hsla(0,0%,100%,.1)}.dark .dark\:bg-gray-700\/40{background-color:rgba(55,65,81,.4)}.dark .dark\:fill-current{fill:currentColor}.dark .dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:text-primary-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark .dark\:text-danger-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.dark .dark\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.dark .dark\:text-success-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.dark .dark\:text-warning-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.dark .dark\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.dark .dark\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.dark .dark\:text-danger-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity))}.dark .dark\:text-success-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.dark .dark\:text-primary-300,.dark .dark\:text-warning-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}.dark .dark\:placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.dark .dark\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity))}.dark .dark\:caret-white{caret-color:#fff}.dark .dark\:ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.dark .dark\:even\:bg-gray-900:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:checked\:border-primary-600:checked{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.dark .dark\:checked\:bg-primary-500:checked{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.dark .dark\:checked\:bg-primary-600:checked{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.dark .dark\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-800\/30:hover{background-color:rgba(31,41,55,.3)}.dark .dark\:hover\:bg-primary-500\/20:hover{background-color:rgba(245,158,11,.2)}.dark .dark\:hover\:bg-success-500\/20:hover{background-color:rgba(34,197,94,.2)}.dark .dark\:hover\:bg-danger-500\/20:hover{background-color:rgba(244,63,94,.2)}.dark .dark\:hover\:bg-warning-500\/20:hover{background-color:rgba(245,158,11,.2)}.dark .dark\:hover\:bg-gray-400\/20:hover{background-color:rgba(156,163,175,.2)}.dark .dark\:hover\:bg-gray-500\/20:hover{background-color:hsla(220,9%,46%,.2)}.dark .dark\:hover\:bg-gray-300\/5:hover{background-color:rgba(209,213,219,.05)}.dark .dark\:hover\:bg-gray-500\/10:hover{background-color:hsla(220,9%,46%,.1)}.dark .dark\:hover\:bg-gray-400\/5:hover{background-color:rgba(156,163,175,.05)}.dark .dark\:hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.dark .dark\:hover\:text-primary-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.dark .dark\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:hover\:text-danger-400:hover{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.dark .dark\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark .dark\:hover\:text-success-400:hover{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark .dark\:hover\:text-warning-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.dark .dark\:focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.dark .dark\:focus\:border-primary-400:focus{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity))}.dark .dark\:focus\:bg-primary-600\/20:focus{background-color:rgba(217,119,6,.2)}.dark .dark\:focus\:bg-success-600\/20:focus{background-color:rgba(22,163,74,.2)}.dark .dark\:focus\:bg-danger-600\/20:focus{background-color:rgba(225,29,72,.2)}.dark .dark\:focus\:bg-warning-600\/20:focus{background-color:rgba(217,119,6,.2)}.dark .dark\:focus\:bg-gray-600\/20:focus{background-color:rgba(75,85,99,.2)}.dark .dark\:focus\:bg-gray-800\/20:focus{background-color:rgba(31,41,55,.2)}.dark .dark\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:focus\:text-primary-400:focus{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.dark .dark\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.dark .dark\:focus\:ring-offset-primary-600:focus{--tw-ring-offset-color:#d97706}.dark .dark\:focus\:ring-offset-success-600:focus{--tw-ring-offset-color:#16a34a}.dark .dark\:focus\:ring-offset-danger-600:focus{--tw-ring-offset-color:#e11d48}.dark .dark\:focus\:ring-offset-warning-600:focus{--tw-ring-offset-color:#d97706}.dark .dark\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.dark .group:hover .dark\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .group:hover .dark\:group-hover\:text-primary-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-full{grid-column:1/-1}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:max-w-lg{max-width:32rem}.sm\:columns-1{-moz-columns:1;column-count:1}.sm\:columns-2{-moz-columns:2;column-count:2}.sm\:columns-3{-moz-columns:3;column-count:3}.sm\:columns-4{-moz-columns:4;column-count:4}.sm\:columns-5{-moz-columns:5;column-count:5}.sm\:columns-6{-moz-columns:6;column-count:6}.sm\:columns-7{-moz-columns:7;column-count:7}.sm\:columns-8{-moz-columns:8;column-count:8}.sm\:columns-9{-moz-columns:9;column-count:9}.sm\:columns-10{-moz-columns:10;column-count:10}.sm\:columns-11{-moz-columns:11;column-count:11}.sm\:columns-12{-moz-columns:12;column-count:12}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:gap-4{gap:1rem}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\:pt-2{padding-top:.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}[dir=rtl] .sm\:rtl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}}@media (min-width:768px){.md\:relative{position:relative}.md\:bottom-0{bottom:0}.md\:top-auto{top:auto}.md\:top-0{top:0}.md\:right-0{right:0}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-full{grid-column:1/-1}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:-mr-2{margin-right:-.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:h-1{height:.25rem}.md\:h-10{height:2.5rem}.md\:h-5{height:1.25rem}.md\:w-full{width:100%}.md\:w-10{width:2.5rem}.md\:w-5{width:1.25rem}.md\:max-w-md{max-width:28rem}.md\:flex-1{flex:1 1 0%}.md\:columns-1{-moz-columns:1;column-count:1}.md\:columns-2{-moz-columns:2;column-count:2}.md\:columns-3{-moz-columns:3;column-count:3}.md\:columns-4{-moz-columns:4;column-count:4}.md\:columns-5{-moz-columns:5;column-count:5}.md\:columns-6{-moz-columns:6;column-count:6}.md\:columns-7{-moz-columns:7;column-count:7}.md\:columns-8{-moz-columns:8;column-count:8}.md\:columns-9{-moz-columns:9;column-count:9}.md\:columns-10{-moz-columns:10;column-count:10}.md\:columns-11{-moz-columns:11;column-count:11}.md\:columns-12{-moz-columns:12;column-count:12}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:pl-20{padding-left:5rem}.md\:pl-12{padding-left:3rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}[dir=rtl] .rtl\:md\:left-0{left:0}[dir=rtl] .rtl\:md\:ml-0{margin-left:0}[dir=rtl] .rtl\:md\:pl-0{padding-left:0}[dir=rtl] .rtl\:md\:pr-20{padding-right:5rem}[dir=rtl] .rtl\:md\:pr-12{padding-right:3rem}}@media (min-width:1024px){.lg\:z-0{z-index:0}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-full{grid-column:1/-1}.lg\:mr-4{margin-right:1rem}.lg\:ml-3{margin-left:.75rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:max-w-\[var\(--sidebar-width\)\]{max-width:var(--sidebar-width)}.lg\:max-w-\[var\(--collapsed-sidebar-width\)\]{max-width:var(--collapsed-sidebar-width)}.lg\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:columns-1{-moz-columns:1;column-count:1}.lg\:columns-2{-moz-columns:2;column-count:2}.lg\:columns-3{-moz-columns:3;column-count:3}.lg\:columns-4{-moz-columns:4;column-count:4}.lg\:columns-5{-moz-columns:5;column-count:5}.lg\:columns-6{-moz-columns:6;column-count:6}.lg\:columns-7{-moz-columns:7;column-count:7}.lg\:columns-8{-moz-columns:8;column-count:8}.lg\:columns-9{-moz-columns:9;column-count:9}.lg\:columns-10{-moz-columns:10;column-count:10}.lg\:columns-11{-moz-columns:11;column-count:11}.lg\:columns-12{-moz-columns:12;column-count:12}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:border-r{border-right-width:1px}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:pl-\[var\(--collapsed-sidebar-width\)\]{padding-left:var(--collapsed-sidebar-width)}.lg\:pl-\[var\(--sidebar-width\)\]{padding-left:var(--sidebar-width)}.lg\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}[dir=rtl] .rtl\:lg\:mr-0{margin-right:0}[dir=rtl] .rtl\:lg\:ml-4{margin-left:1rem}[dir=rtl] .rtl\:lg\:-translate-x-0{--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .rtl\:lg\:border-r-0{border-right-width:0}[dir=rtl] .rtl\:lg\:border-l{border-left-width:1px}[dir=rtl] .rtl\:lg\:pr-\[var\(--collapsed-sidebar-width\)\]{padding-right:var(--collapsed-sidebar-width)}[dir=rtl] .rtl\:lg\:pr-\[var\(--sidebar-width\)\]{padding-right:var(--sidebar-width)}[dir=rtl] .rtl\:lg\:pl-0{padding-left:0}}@media (min-width:1280px){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-span-full{grid-column:1/-1}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:hidden{display:none}.xl\:columns-1{-moz-columns:1;column-count:1}.xl\:columns-2{-moz-columns:2;column-count:2}.xl\:columns-3{-moz-columns:3;column-count:3}.xl\:columns-4{-moz-columns:4;column-count:4}.xl\:columns-5{-moz-columns:5;column-count:5}.xl\:columns-6{-moz-columns:6;column-count:6}.xl\:columns-7{-moz-columns:7;column-count:7}.xl\:columns-8{-moz-columns:8;column-count:8}.xl\:columns-9{-moz-columns:9;column-count:9}.xl\:columns-10{-moz-columns:10;column-count:10}.xl\:columns-11{-moz-columns:11;column-count:11}.xl\:columns-12{-moz-columns:12;column-count:12}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width:1536px){.\32xl\:col-span-1{grid-column:span 1/span 1}.\32xl\:col-span-2{grid-column:span 2/span 2}.\32xl\:col-span-3{grid-column:span 3/span 3}.\32xl\:col-span-4{grid-column:span 4/span 4}.\32xl\:col-span-5{grid-column:span 5/span 5}.\32xl\:col-span-6{grid-column:span 6/span 6}.\32xl\:col-span-7{grid-column:span 7/span 7}.\32xl\:col-span-8{grid-column:span 8/span 8}.\32xl\:col-span-9{grid-column:span 9/span 9}.\32xl\:col-span-10{grid-column:span 10/span 10}.\32xl\:col-span-11{grid-column:span 11/span 11}.\32xl\:col-span-12{grid-column:span 12/span 12}.\32xl\:col-span-full{grid-column:1/-1}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:hidden{display:none}.\32xl\:columns-1{-moz-columns:1;column-count:1}.\32xl\:columns-2{-moz-columns:2;column-count:2}.\32xl\:columns-3{-moz-columns:3;column-count:3}.\32xl\:columns-4{-moz-columns:4;column-count:4}.\32xl\:columns-5{-moz-columns:5;column-count:5}.\32xl\:columns-6{-moz-columns:6;column-count:6}.\32xl\:columns-7{-moz-columns:7;column-count:7}.\32xl\:columns-8{-moz-columns:8;column-count:8}.\32xl\:columns-9{-moz-columns:9;column-count:9}.\32xl\:columns-10{-moz-columns:10;column-count:10}.\32xl\:columns-11{-moz-columns:11;column-count:11}.\32xl\:columns-12{-moz-columns:12;column-count:12}.\32xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.\32xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.\32xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.\32xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.\32xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.\32xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.\32xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}} \ No newline at end of file diff --git a/packages/app/dist/index.js b/packages/app/dist/index.js index 72042eb834..14f3aa1ad0 100644 --- a/packages/app/dist/index.js +++ b/packages/app/dist/index.js @@ -1,42 +1,28 @@ -(()=>{function noop(){}var uid=function(){let id=0;return function(){return id++}}();function isNullOrUndef(value){return value===null||typeof value=="undefined"}function isArray(value){if(Array.isArray&&Array.isArray(value))return!0;let type=Object.prototype.toString.call(value);return type.slice(0,7)==="[object"&&type.slice(-6)==="Array]"}function isObject(value){return value!==null&&Object.prototype.toString.call(value)==="[object Object]"}var isNumberFinite=value=>(typeof value=="number"||value instanceof Number)&&isFinite(+value);function finiteOrDefault(value,defaultValue){return isNumberFinite(value)?value:defaultValue}function valueOrDefault(value,defaultValue){return typeof value=="undefined"?defaultValue:value}var toPercentage=(value,dimension)=>typeof value=="string"&&value.endsWith("%")?parseFloat(value)/100:value/dimension,toDimension=(value,dimension)=>typeof value=="string"&&value.endsWith("%")?parseFloat(value)/100*dimension:+value;function callback(fn,args,thisArg){if(fn&&typeof fn.call=="function")return fn.apply(thisArg,args)}function each(loopable,fn,thisArg,reverse){let i,len,keys;if(isArray(loopable))if(len=loopable.length,reverse)for(i=len-1;i>=0;i--)fn.call(thisArg,loopable[i],i);else for(i=0;iv,x:o=>o.x,y:o=>o.y};function resolveObjectKey(obj,key){return(keyResolvers[key]||(keyResolvers[key]=_getKeyResolver(key)))(obj)}function _getKeyResolver(key){let keys=_splitKey(key);return obj=>{for(let k of keys){if(k==="")break;obj=obj&&obj[k]}return obj}}function _splitKey(key){let parts=key.split("."),keys=[],tmp="";for(let part of parts)tmp+=part,tmp.endsWith("\\")?tmp=tmp.slice(0,-1)+".":(keys.push(tmp),tmp="");return keys}function _capitalize(str){return str.charAt(0).toUpperCase()+str.slice(1)}var defined=value=>typeof value!="undefined",isFunction=value=>typeof value=="function",setsEqual=(a,b)=>{if(a.size!==b.size)return!1;for(let item of a)if(!b.has(item))return!1;return!0};function _isClickEvent(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}var PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function niceNum(range){let roundedRange=Math.round(range);range=almostEquals(range,roundedRange,range/1e3)?roundedRange:range;let niceRange=Math.pow(10,Math.floor(log10(range))),fraction=range/niceRange;return(fraction<=1?1:fraction<=2?2:fraction<=5?5:10)*niceRange}function _factorize(value){let result=[],sqrt=Math.sqrt(value),i;for(i=1;ia-b).pop(),result}function isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function almostEquals(x,y,epsilon){return Math.abs(x-y)=x}function _setMinAndMaxByKey(array,target,property){let i,ilen,value;for(i=0,ilen=array.length;iangleToEnd&&startToAngle=Math.min(start,end)-epsilon&&value<=Math.max(start,end)+epsilon}function _lookup(table,value,cmp){cmp=cmp||(index2=>table[index2]1;)mid=lo+hi>>1,cmp(mid)?lo=mid:hi=mid;return{lo,hi}}var _lookupByKey=(table,key,value,last)=>_lookup(table,value,last?index2=>table[index2][key]<=value:index2=>table[index2][key]_lookup(table,value,index2=>table[index2][key]>=value);function _filterBetween(values,min,max){let start=0,end=values.length;for(;startstart&&values[end-1]>max;)end--;return start>0||end{let method="_onData"+_capitalize(key),base=array[key];Object.defineProperty(array,key,{configurable:!0,enumerable:!1,value(...args){let res=base.apply(this,args);return array._chartjs.listeners.forEach(object=>{typeof object[method]=="function"&&object[method](...args)}),res}})})}function unlistenArrayEvents(array,listener){let stub=array._chartjs;if(!stub)return;let listeners=stub.listeners,index2=listeners.indexOf(listener);index2!==-1&&listeners.splice(index2,1),!(listeners.length>0)&&(arrayEvents.forEach(key=>{delete array[key]}),delete array._chartjs)}function _arrayUnique(items){let set2=new Set,i,ilen;for(i=0,ilen=items.length;iArray.prototype.slice.call(args2)),ticking=!1,args=[];return function(...rest){args=updateArgs(rest),ticking||(ticking=!0,requestAnimFrame.call(window,()=>{ticking=!1,fn.apply(thisArg,args)}))}}function debounce(fn,delay3){let timeout;return function(...args){return delay3?(clearTimeout(timeout),timeout=setTimeout(fn,delay3,args)):fn.apply(this,args),delay3}}var _toLeftRightCenter=align=>align==="start"?"left":align==="end"?"right":"center",_alignStartEnd=(align,start,end)=>align==="start"?start:align==="end"?end:(start+end)/2,_textX=(align,left,right,rtl)=>align===(rtl?"left":"right")?right:align==="center"?(left+right)/2:left;function _getStartAndCountOfVisiblePoints(meta,points,animationsDisabled){let pointCount=points.length,start=0,count=pointCount;if(meta._sorted){let{iScale,_parsed}=meta,axis=iScale.axis,{min,max,minDefined,maxDefined}=iScale.getUserBounds();minDefined&&(start=_limitValue(Math.min(_lookupByKey(_parsed,iScale.axis,min).lo,animationsDisabled?pointCount:_lookupByKey(points,axis,iScale.getPixelForValue(min)).lo),0,pointCount-1)),maxDefined?count=_limitValue(Math.max(_lookupByKey(_parsed,iScale.axis,max,!0).hi+1,animationsDisabled?0:_lookupByKey(points,axis,iScale.getPixelForValue(max),!0).hi+1),start,pointCount)-start:count=pointCount-start}return{start,count}}function _scaleRangesChanged(meta){let{xScale,yScale,_scaleRanges}=meta,newRanges={xmin:xScale.min,xmax:xScale.max,ymin:yScale.min,ymax:yScale.max};if(!_scaleRanges)return meta._scaleRanges=newRanges,!0;let changed=_scaleRanges.xmin!==xScale.min||_scaleRanges.xmax!==xScale.max||_scaleRanges.ymin!==yScale.min||_scaleRanges.ymax!==yScale.max;return Object.assign(_scaleRanges,newRanges),changed}var atEdge=t=>t===0||t===1,elasticIn=(t,s,p)=>-(Math.pow(2,10*(t-=1))*Math.sin((t-s)*TAU/p)),elasticOut=(t,s,p)=>Math.pow(2,-10*t)*Math.sin((t-s)*TAU/p)+1,effects={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>-Math.cos(t*HALF_PI)+1,easeOutSine:t=>Math.sin(t*HALF_PI),easeInOutSine:t=>-.5*(Math.cos(PI*t)-1),easeInExpo:t=>t===0?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>t===1?1:-Math.pow(2,-10*t)+1,easeInOutExpo:t=>atEdge(t)?t:t<.5?.5*Math.pow(2,10*(t*2-1)):.5*(-Math.pow(2,-10*(t*2-1))+2),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>atEdge(t)?t:elasticIn(t,.075,.3),easeOutElastic:t=>atEdge(t)?t:elasticOut(t,.075,.3),easeInOutElastic(t){let s=.1125,p=.45;return atEdge(t)?t:t<.5?.5*elasticIn(t*2,s,p):.5+.5*elasticOut(t*2-1,s,p)},easeInBack(t){let s=1.70158;return t*t*((s+1)*t-s)},easeOutBack(t){let s=1.70158;return(t-=1)*t*((s+1)*t+s)+1},easeInOutBack(t){let s=1.70158;return(t/=.5)<1?.5*(t*t*(((s*=1.525)+1)*t-s)):.5*((t-=2)*t*(((s*=1.525)+1)*t+s)+2)},easeInBounce:t=>1-effects.easeOutBounce(1-t),easeOutBounce(t){let m=7.5625,d=2.75;return t<1/d?m*t*t:t<2/d?m*(t-=1.5/d)*t+.75:t<2.5/d?m*(t-=2.25/d)*t+.9375:m*(t-=2.625/d)*t+.984375},easeInOutBounce:t=>t<.5?effects.easeInBounce(t*2)*.5:effects.easeOutBounce(t*2-1)*.5+.5};function round(v){return v+.5|0}var lim=(v,l,h)=>Math.max(Math.min(v,h),l);function p2b(v){return lim(round(v*2.55),0,255)}function n2b(v){return lim(round(v*255),0,255)}function b2n(v){return lim(round(v/2.55)/100,0,1)}function n2p(v){return lim(round(v*100),0,100)}var map$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},hex=[..."0123456789ABCDEF"],h1=b=>hex[b&15],h2=b=>hex[(b&240)>>4]+hex[b&15],eq=b=>(b&240)>>4==(b&15),isShort=v=>eq(v.r)&&eq(v.g)&&eq(v.b)&&eq(v.a);function hexParse(str){var len=str.length,ret;return str[0]==="#"&&(len===4||len===5?ret={r:255&map$1[str[1]]*17,g:255&map$1[str[2]]*17,b:255&map$1[str[3]]*17,a:len===5?map$1[str[4]]*17:255}:(len===7||len===9)&&(ret={r:map$1[str[1]]<<4|map$1[str[2]],g:map$1[str[3]]<<4|map$1[str[4]],b:map$1[str[5]]<<4|map$1[str[6]],a:len===9?map$1[str[7]]<<4|map$1[str[8]]:255})),ret}var alpha=(a,f)=>a<255?f(a):"";function hexString(v){var f=isShort(v)?h1:h2;return v?"#"+f(v.r)+f(v.g)+f(v.b)+alpha(v.a,f):void 0}var HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(h,s,l){let a=s*Math.min(l,1-l),f=(n,k=(n+h/30)%12)=>l-a*Math.max(Math.min(k-3,9-k,1),-1);return[f(0),f(8),f(4)]}function hsv2rgbn(h,s,v){let f=(n,k=(n+h/60)%6)=>v-v*s*Math.max(Math.min(k,4-k,1),0);return[f(5),f(3),f(1)]}function hwb2rgbn(h,w,b){let rgb=hsl2rgbn(h,1,.5),i;for(w+b>1&&(i=1/(w+b),w*=i,b*=i),i=0;i<3;i++)rgb[i]*=1-w-b,rgb[i]+=w;return rgb}function hueValue(r,g,b,d,max){return r===max?(g-b)/d+(g.5?d/(2-max-min):d/(max+min),h=hueValue(r,g,b,d,max),h=h*60+.5),[h|0,s||0,l]}function calln(f,a,b,c){return(Array.isArray(a)?f(a[0],a[1],a[2]):f(a,b,c)).map(n2b)}function hsl2rgb(h,s,l){return calln(hsl2rgbn,h,s,l)}function hwb2rgb(h,w,b){return calln(hwb2rgbn,h,w,b)}function hsv2rgb(h,s,v){return calln(hsv2rgbn,h,s,v)}function hue(h){return(h%360+360)%360}function hueParse(str){let m=HUE_RE.exec(str),a=255,v;if(!m)return;m[5]!==v&&(a=m[6]?p2b(+m[5]):n2b(+m[5]));let h=hue(+m[2]),p1=+m[3]/100,p2=+m[4]/100;return m[1]==="hwb"?v=hwb2rgb(h,p1,p2):m[1]==="hsv"?v=hsv2rgb(h,p1,p2):v=hsl2rgb(h,p1,p2),{r:v[0],g:v[1],b:v[2],a}}function rotate(v,deg){var h=rgb2hsl(v);h[0]=hue(h[0]+deg),h=hsl2rgb(h),v.r=h[0],v.g=h[1],v.b=h[2]}function hslString(v){if(!v)return;let a=rgb2hsl(v),h=a[0],s=n2p(a[1]),l=n2p(a[2]);return v.a<255?`hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`:`hsl(${h}, ${s}%, ${l}%)`}var map={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){let unpacked={},keys=Object.keys(names$1),tkeys=Object.keys(map),i,j,k,ok,nk;for(i=0;i>16&255,k>>8&255,k&255]}return unpacked}var names;function nameParse(str){names||(names=unpack(),names.transparent=[0,0,0,0]);let a=names[str.toLowerCase()];return a&&{r:a[0],g:a[1],b:a[2],a:a.length===4?a[3]:255}}var RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(str){let m=RGB_RE.exec(str),a=255,r,g,b;if(!!m){if(m[7]!==r){let v=+m[7];a=m[8]?p2b(v):lim(v*255,0,255)}return r=+m[1],g=+m[3],b=+m[5],r=255&(m[2]?p2b(r):lim(r,0,255)),g=255&(m[4]?p2b(g):lim(g,0,255)),b=255&(m[6]?p2b(b):lim(b,0,255)),{r,g,b,a}}}function rgbString(v){return v&&(v.a<255?`rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`:`rgb(${v.r}, ${v.g}, ${v.b})`)}var to=v=>v<=.0031308?v*12.92:Math.pow(v,1/2.4)*1.055-.055,from=v=>v<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4);function interpolate(rgb1,rgb2,t){let r=from(b2n(rgb1.r)),g=from(b2n(rgb1.g)),b=from(b2n(rgb1.b));return{r:n2b(to(r+t*(from(b2n(rgb2.r))-r))),g:n2b(to(g+t*(from(b2n(rgb2.g))-g))),b:n2b(to(b+t*(from(b2n(rgb2.b))-b))),a:rgb1.a+t*(rgb2.a-rgb1.a)}}function modHSL(v,i,ratio){if(v){let tmp=rgb2hsl(v);tmp[i]=Math.max(0,Math.min(tmp[i]+tmp[i]*ratio,i===0?360:1)),tmp=hsl2rgb(tmp),v.r=tmp[0],v.g=tmp[1],v.b=tmp[2]}}function clone(v,proto){return v&&Object.assign(proto||{},v)}function fromObject(input){var v={r:0,g:0,b:0,a:255};return Array.isArray(input)?input.length>=3&&(v={r:input[0],g:input[1],b:input[2],a:255},input.length>3&&(v.a=n2b(input[3]))):(v=clone(input,{r:0,g:0,b:0,a:1}),v.a=n2b(v.a)),v}function functionParse(str){return str.charAt(0)==="r"?rgbParse(str):hueParse(str)}var Color=class{constructor(input){if(input instanceof Color)return input;let type=typeof input,v;type==="object"?v=fromObject(input):type==="string"&&(v=hexParse(input)||nameParse(input)||functionParse(input)),this._rgb=v,this._valid=!!v}get valid(){return this._valid}get rgb(){var v=clone(this._rgb);return v&&(v.a=b2n(v.a)),v}set rgb(obj){this._rgb=fromObject(obj)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(color2,weight){if(color2){let c1=this.rgb,c2=color2.rgb,w2,p=weight===w2?.5:weight,w=2*p-1,a=c1.a-c2.a,w1=((w*a==-1?w:(w+a)/(1+w*a))+1)/2;w2=1-w1,c1.r=255&w1*c1.r+w2*c2.r+.5,c1.g=255&w1*c1.g+w2*c2.g+.5,c1.b=255&w1*c1.b+w2*c2.b+.5,c1.a=p*c1.a+(1-p)*c2.a,this.rgb=c1}return this}interpolate(color2,t){return color2&&(this._rgb=interpolate(this._rgb,color2._rgb,t)),this}clone(){return new Color(this.rgb)}alpha(a){return this._rgb.a=n2b(a),this}clearer(ratio){let rgb=this._rgb;return rgb.a*=1-ratio,this}greyscale(){let rgb=this._rgb,val=round(rgb.r*.3+rgb.g*.59+rgb.b*.11);return rgb.r=rgb.g=rgb.b=val,this}opaquer(ratio){let rgb=this._rgb;return rgb.a*=1+ratio,this}negate(){let v=this._rgb;return v.r=255-v.r,v.g=255-v.g,v.b=255-v.b,this}lighten(ratio){return modHSL(this._rgb,2,ratio),this}darken(ratio){return modHSL(this._rgb,2,-ratio),this}saturate(ratio){return modHSL(this._rgb,1,ratio),this}desaturate(ratio){return modHSL(this._rgb,1,-ratio),this}rotate(deg){return rotate(this._rgb,deg),this}};function index_esm(input){return new Color(input)}function isPatternOrGradient(value){if(value&&typeof value=="object"){let type=value.toString();return type==="[object CanvasPattern]"||type==="[object CanvasGradient]"}return!1}function color(value){return isPatternOrGradient(value)?value:index_esm(value)}function getHoverColor(value){return isPatternOrGradient(value)?value:index_esm(value).saturate(.5).darken(.1).hexString()}var overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(node,key){if(!key)return node;let keys=key.split(".");for(let i=0,n=keys.length;icontext.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(ctx,options)=>getHoverColor(options.backgroundColor),this.hoverBorderColor=(ctx,options)=>getHoverColor(options.borderColor),this.hoverColor=(ctx,options)=>getHoverColor(options.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(_descriptors2)}set(scope,values){return set(this,scope,values)}get(scope){return getScope$1(this,scope)}describe(scope,values){return set(descriptors,scope,values)}override(scope,values){return set(overrides,scope,values)}route(scope,name,targetScope,targetName){let scopeObject=getScope$1(this,scope),targetScopeObject=getScope$1(this,targetScope),privateName="_"+name;Object.defineProperties(scopeObject,{[privateName]:{value:scopeObject[name],writable:!0},[name]:{enumerable:!0,get(){let local=this[privateName],target=targetScopeObject[targetName];return isObject(local)?Object.assign({},target,local):valueOrDefault(local,target)},set(value){this[privateName]=value}}})}},defaults=new Defaults({_scriptable:name=>!name.startsWith("on"),_indexable:name=>name!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function toFontString(font){return!font||isNullOrUndef(font.size)||isNullOrUndef(font.family)?null:(font.style?font.style+" ":"")+(font.weight?font.weight+" ":"")+font.size+"px "+font.family}function _measureText(ctx,data,gc,longest,string){let textWidth=data[string];return textWidth||(textWidth=data[string]=ctx.measureText(string).width,gc.push(string)),textWidth>longest&&(longest=textWidth),longest}function _longestText(ctx,font,arrayOfThings,cache){cache=cache||{};let data=cache.data=cache.data||{},gc=cache.garbageCollect=cache.garbageCollect||[];cache.font!==font&&(data=cache.data={},gc=cache.garbageCollect=[],cache.font=font),ctx.save(),ctx.font=font;let longest=0,ilen=arrayOfThings.length,i,j,jlen,thing,nestedThing;for(i=0;iarrayOfThings.length){for(i=0;i0&&ctx.stroke()}}function _isPointInArea(point,area,margin){return margin=margin||.5,!area||point&&point.x>area.left-margin&&point.xarea.top-margin&&point.y0&&opts.strokeColor!=="",i,line;for(ctx.save(),ctx.font=font.string,setRenderOpts(ctx,opts),i=0;i+v||0;function _readValueToProps(value,props){let ret={},objProps=isObject(props),keys=objProps?Object.keys(props):props,read=isObject(value)?objProps?prop=>valueOrDefault(value[prop],value[props[prop]]):prop=>value[prop]:()=>value;for(let prop of keys)ret[prop]=numberOrZero(read(prop));return ret}function toTRBL(value){return _readValueToProps(value,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(value){return _readValueToProps(value,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(value){let obj=toTRBL(value);return obj.width=obj.left+obj.right,obj.height=obj.top+obj.bottom,obj}function toFont(options,fallback){options=options||{},fallback=fallback||defaults.font;let size=valueOrDefault(options.size,fallback.size);typeof size=="string"&&(size=parseInt(size,10));let style=valueOrDefault(options.style,fallback.style);style&&!(""+style).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+style+'"'),style="");let font={family:valueOrDefault(options.family,fallback.family),lineHeight:toLineHeight(valueOrDefault(options.lineHeight,fallback.lineHeight),size),size,style,weight:valueOrDefault(options.weight,fallback.weight),string:""};return font.string=toFontString(font),font}function resolve(inputs,context,index2,info){let cacheable=!0,i,ilen,value;for(i=0,ilen=inputs.length;ibeginAtZero&&value===0?0:value+add;return{min:keepZero(min,-Math.abs(change)),max:keepZero(max,change)}}function createContext(parentContext,context){return Object.assign(Object.create(parentContext),context)}function _createResolver(scopes,prefixes=[""],rootScopes=scopes,fallback,getTarget=()=>scopes[0]){defined(fallback)||(fallback=_resolve("_fallback",scopes));let cache={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:scopes,_rootScopes:rootScopes,_fallback:fallback,_getTarget:getTarget,override:scope=>_createResolver([scope,...scopes],prefixes,rootScopes,fallback)};return new Proxy(cache,{deleteProperty(target,prop){return delete target[prop],delete target._keys,delete scopes[0][prop],!0},get(target,prop){return _cached(target,prop,()=>_resolveWithPrefixes(prop,prefixes,scopes,target))},getOwnPropertyDescriptor(target,prop){return Reflect.getOwnPropertyDescriptor(target._scopes[0],prop)},getPrototypeOf(){return Reflect.getPrototypeOf(scopes[0])},has(target,prop){return getKeysFromAllScopes(target).includes(prop)},ownKeys(target){return getKeysFromAllScopes(target)},set(target,prop,value){let storage=target._storage||(target._storage=getTarget());return target[prop]=storage[prop]=value,delete target._keys,!0}})}function _attachContext(proxy,context,subProxy,descriptorDefaults){let cache={_cacheable:!1,_proxy:proxy,_context:context,_subProxy:subProxy,_stack:new Set,_descriptors:_descriptors(proxy,descriptorDefaults),setContext:ctx=>_attachContext(proxy,ctx,subProxy,descriptorDefaults),override:scope=>_attachContext(proxy.override(scope),context,subProxy,descriptorDefaults)};return new Proxy(cache,{deleteProperty(target,prop){return delete target[prop],delete proxy[prop],!0},get(target,prop,receiver){return _cached(target,prop,()=>_resolveWithContext(target,prop,receiver))},getOwnPropertyDescriptor(target,prop){return target._descriptors.allKeys?Reflect.has(proxy,prop)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(proxy,prop)},getPrototypeOf(){return Reflect.getPrototypeOf(proxy)},has(target,prop){return Reflect.has(proxy,prop)},ownKeys(){return Reflect.ownKeys(proxy)},set(target,prop,value){return proxy[prop]=value,delete target[prop],!0}})}function _descriptors(proxy,defaults2={scriptable:!0,indexable:!0}){let{_scriptable=defaults2.scriptable,_indexable=defaults2.indexable,_allKeys=defaults2.allKeys}=proxy;return{allKeys:_allKeys,scriptable:_scriptable,indexable:_indexable,isScriptable:isFunction(_scriptable)?_scriptable:()=>_scriptable,isIndexable:isFunction(_indexable)?_indexable:()=>_indexable}}var readKey=(prefix,name)=>prefix?prefix+_capitalize(name):name,needsSubResolver=(prop,value)=>isObject(value)&&prop!=="adapters"&&(Object.getPrototypeOf(value)===null||value.constructor===Object);function _cached(target,prop,resolve2){if(Object.prototype.hasOwnProperty.call(target,prop))return target[prop];let value=resolve2();return target[prop]=value,value}function _resolveWithContext(target,prop,receiver){let{_proxy,_context,_subProxy,_descriptors:descriptors2}=target,value=_proxy[prop];return isFunction(value)&&descriptors2.isScriptable(prop)&&(value=_resolveScriptable(prop,value,target,receiver)),isArray(value)&&value.length&&(value=_resolveArray(prop,value,target,descriptors2.isIndexable)),needsSubResolver(prop,value)&&(value=_attachContext(value,_context,_subProxy&&_subProxy[prop],descriptors2)),value}function _resolveScriptable(prop,value,target,receiver){let{_proxy,_context,_subProxy,_stack}=target;if(_stack.has(prop))throw new Error("Recursion detected: "+Array.from(_stack).join("->")+"->"+prop);return _stack.add(prop),value=value(_context,_subProxy||receiver),_stack.delete(prop),needsSubResolver(prop,value)&&(value=createSubResolver(_proxy._scopes,_proxy,prop,value)),value}function _resolveArray(prop,value,target,isIndexable){let{_proxy,_context,_subProxy,_descriptors:descriptors2}=target;if(defined(_context.index)&&isIndexable(prop))value=value[_context.index%value.length];else if(isObject(value[0])){let arr=value,scopes=_proxy._scopes.filter(s=>s!==arr);value=[];for(let item of arr){let resolver=createSubResolver(scopes,_proxy,prop,item);value.push(_attachContext(resolver,_context,_subProxy&&_subProxy[prop],descriptors2))}}return value}function resolveFallback(fallback,prop,value){return isFunction(fallback)?fallback(prop,value):fallback}var getScope=(key,parent)=>key===!0?parent:typeof key=="string"?resolveObjectKey(parent,key):void 0;function addScopes(set2,parentScopes,key,parentFallback,value){for(let parent of parentScopes){let scope=getScope(key,parent);if(scope){set2.add(scope);let fallback=resolveFallback(scope._fallback,key,value);if(defined(fallback)&&fallback!==key&&fallback!==parentFallback)return fallback}else if(scope===!1&&defined(parentFallback)&&key!==parentFallback)return null}return!1}function createSubResolver(parentScopes,resolver,prop,value){let rootScopes=resolver._rootScopes,fallback=resolveFallback(resolver._fallback,prop,value),allScopes=[...parentScopes,...rootScopes],set2=new Set;set2.add(value);let key=addScopesFromKey(set2,allScopes,prop,fallback||prop,value);return key===null||defined(fallback)&&fallback!==prop&&(key=addScopesFromKey(set2,allScopes,fallback,key,value),key===null)?!1:_createResolver(Array.from(set2),[""],rootScopes,fallback,()=>subGetTarget(resolver,prop,value))}function addScopesFromKey(set2,allScopes,key,fallback,item){for(;key;)key=addScopes(set2,allScopes,key,fallback,item);return key}function subGetTarget(resolver,prop,value){let parent=resolver._getTarget();prop in parent||(parent[prop]={});let target=parent[prop];return isArray(target)&&isObject(value)?value:target}function _resolveWithPrefixes(prop,prefixes,scopes,proxy){let value;for(let prefix of prefixes)if(value=_resolve(readKey(prefix,prop),scopes),defined(value))return needsSubResolver(prop,value)?createSubResolver(scopes,proxy,prop,value):value}function _resolve(key,scopes){for(let scope of scopes){if(!scope)continue;let value=scope[key];if(defined(value))return value}}function getKeysFromAllScopes(target){let keys=target._keys;return keys||(keys=target._keys=resolveKeysFromAllScopes(target._scopes)),keys}function resolveKeysFromAllScopes(scopes){let set2=new Set;for(let scope of scopes)for(let key of Object.keys(scope).filter(k=>!k.startsWith("_")))set2.add(key);return Array.from(set2)}function _parseObjectDataRadialScale(meta,data,start,count){let{iScale}=meta,{key="r"}=this._parsing,parsed=new Array(count),i,ilen,index2,item;for(i=0,ilen=count;iiindexAxis==="x"?"y":"x";function splineCurve(firstPoint,middlePoint,afterPoint,t){let previous=firstPoint.skip?middlePoint:firstPoint,current=middlePoint,next=afterPoint.skip?middlePoint:afterPoint,d01=distanceBetweenPoints(current,previous),d12=distanceBetweenPoints(next,current),s01=d01/(d01+d12),s12=d12/(d01+d12);s01=isNaN(s01)?0:s01,s12=isNaN(s12)?0:s12;let fa=t*s01,fb=t*s12;return{previous:{x:current.x-fa*(next.x-previous.x),y:current.y-fa*(next.y-previous.y)},next:{x:current.x+fb*(next.x-previous.x),y:current.y+fb*(next.y-previous.y)}}}function monotoneAdjust(points,deltaK,mK){let pointsLen=points.length,alphaK,betaK,tauK,squaredMagnitude,pointCurrent,pointAfter=getPoint(points,0);for(let i=0;i!pt.skip)),options.cubicInterpolationMode==="monotone")splineCurveMonotone(points,indexAxis);else{let prev=loop?points[points.length-1]:points[0];for(i=0,ilen=points.length;iwindow.getComputedStyle(element,null);function getStyle(el,property){return getComputedStyle2(el).getPropertyValue(property)}var positions=["top","right","bottom","left"];function getPositionedStyle(styles,style,suffix){let result={};suffix=suffix?"-"+suffix:"";for(let i=0;i<4;i++){let pos=positions[i];result[pos]=parseFloat(styles[style+"-"+pos+suffix])||0}return result.width=result.left+result.right,result.height=result.top+result.bottom,result}var useOffsetPos=(x,y,target)=>(x>0||y>0)&&(!target||!target.shadowRoot);function getCanvasPosition(e,canvas){let touches=e.touches,source=touches&&touches.length?touches[0]:e,{offsetX,offsetY}=source,box=!1,x,y;if(useOffsetPos(offsetX,offsetY,e.target))x=offsetX,y=offsetY;else{let rect=canvas.getBoundingClientRect();x=source.clientX-rect.left,y=source.clientY-rect.top,box=!0}return{x,y,box}}function getRelativePosition(evt,chart){if("native"in evt)return evt;let{canvas,currentDevicePixelRatio}=chart,style=getComputedStyle2(canvas),borderBox=style.boxSizing==="border-box",paddings=getPositionedStyle(style,"padding"),borders=getPositionedStyle(style,"border","width"),{x,y,box}=getCanvasPosition(evt,canvas),xOffset=paddings.left+(box&&borders.left),yOffset=paddings.top+(box&&borders.top),{width,height}=chart;return borderBox&&(width-=paddings.width+borders.width,height-=paddings.height+borders.height),{x:Math.round((x-xOffset)/width*canvas.width/currentDevicePixelRatio),y:Math.round((y-yOffset)/height*canvas.height/currentDevicePixelRatio)}}function getContainerSize(canvas,width,height){let maxWidth,maxHeight;if(width===void 0||height===void 0){let container=_getParentNode(canvas);if(!container)width=canvas.clientWidth,height=canvas.clientHeight;else{let rect=container.getBoundingClientRect(),containerStyle=getComputedStyle2(container),containerBorder=getPositionedStyle(containerStyle,"border","width"),containerPadding=getPositionedStyle(containerStyle,"padding");width=rect.width-containerPadding.width-containerBorder.width,height=rect.height-containerPadding.height-containerBorder.height,maxWidth=parseMaxStyle(containerStyle.maxWidth,container,"clientWidth"),maxHeight=parseMaxStyle(containerStyle.maxHeight,container,"clientHeight")}}return{width,height,maxWidth:maxWidth||INFINITY,maxHeight:maxHeight||INFINITY}}var round1=v=>Math.round(v*10)/10;function getMaximumSize(canvas,bbWidth,bbHeight,aspectRatio){let style=getComputedStyle2(canvas),margins=getPositionedStyle(style,"margin"),maxWidth=parseMaxStyle(style.maxWidth,canvas,"clientWidth")||INFINITY,maxHeight=parseMaxStyle(style.maxHeight,canvas,"clientHeight")||INFINITY,containerSize=getContainerSize(canvas,bbWidth,bbHeight),{width,height}=containerSize;if(style.boxSizing==="content-box"){let borders=getPositionedStyle(style,"border","width"),paddings=getPositionedStyle(style,"padding");width-=paddings.width+borders.width,height-=paddings.height+borders.height}return width=Math.max(0,width-margins.width),height=Math.max(0,aspectRatio?Math.floor(width/aspectRatio):height-margins.height),width=round1(Math.min(width,maxWidth,containerSize.maxWidth)),height=round1(Math.min(height,maxHeight,containerSize.maxHeight)),width&&!height&&(height=round1(width/2)),{width,height}}function retinaScale(chart,forceRatio,forceStyle){let pixelRatio=forceRatio||1,deviceHeight=Math.floor(chart.height*pixelRatio),deviceWidth=Math.floor(chart.width*pixelRatio);chart.height=deviceHeight/pixelRatio,chart.width=deviceWidth/pixelRatio;let canvas=chart.canvas;return canvas.style&&(forceStyle||!canvas.style.height&&!canvas.style.width)&&(canvas.style.height=`${chart.height}px`,canvas.style.width=`${chart.width}px`),chart.currentDevicePixelRatio!==pixelRatio||canvas.height!==deviceHeight||canvas.width!==deviceWidth?(chart.currentDevicePixelRatio=pixelRatio,canvas.height=deviceHeight,canvas.width=deviceWidth,chart.ctx.setTransform(pixelRatio,0,0,pixelRatio,0,0),!0):!1}var supportsEventListenerOptions=function(){let passiveSupported=!1;try{let options={get passive(){return passiveSupported=!0,!1}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(e){}return passiveSupported}();function readUsedSize(element,property){let value=getStyle(element,property),matches2=value&&value.match(/^(\d+)(\.\d+)?px$/);return matches2?+matches2[1]:void 0}function _pointInLine(p1,p2,t,mode){return{x:p1.x+t*(p2.x-p1.x),y:p1.y+t*(p2.y-p1.y)}}function _steppedInterpolation(p1,p2,t,mode){return{x:p1.x+t*(p2.x-p1.x),y:mode==="middle"?t<.5?p1.y:p2.y:mode==="after"?t<1?p1.y:p2.y:t>0?p2.y:p1.y}}function _bezierInterpolation(p1,p2,t,mode){let cp1={x:p1.cp2x,y:p1.cp2y},cp2={x:p2.cp1x,y:p2.cp1y},a=_pointInLine(p1,cp1,t),b=_pointInLine(cp1,cp2,t),c=_pointInLine(cp2,p2,t),d=_pointInLine(a,b,t),e=_pointInLine(b,c,t);return _pointInLine(d,e,t)}var intlCache=new Map;function getNumberFormat(locale,options){options=options||{};let cacheKey=locale+JSON.stringify(options),formatter=intlCache.get(cacheKey);return formatter||(formatter=new Intl.NumberFormat(locale,options),intlCache.set(cacheKey,formatter)),formatter}function formatNumber(num,locale,options){return getNumberFormat(locale,options).format(num)}var getRightToLeftAdapter=function(rectX,width){return{x(x){return rectX+rectX+width-x},setWidth(w){width=w},textAlign(align){return align==="center"?align:align==="right"?"left":"right"},xPlus(x,value){return x-value},leftForLtr(x,itemWidth){return x-itemWidth}}},getLeftToRightAdapter=function(){return{x(x){return x},setWidth(w){},textAlign(align){return align},xPlus(x,value){return x+value},leftForLtr(x,_itemWidth){return x}}};function getRtlAdapter(rtl,rectX,width){return rtl?getRightToLeftAdapter(rectX,width):getLeftToRightAdapter()}function overrideTextDirection(ctx,direction){let style,original;(direction==="ltr"||direction==="rtl")&&(style=ctx.canvas.style,original=[style.getPropertyValue("direction"),style.getPropertyPriority("direction")],style.setProperty("direction",direction,"important"),ctx.prevTextDirection=original)}function restoreTextDirection(ctx,original){original!==void 0&&(delete ctx.prevTextDirection,ctx.canvas.style.setProperty("direction",original[0],original[1]))}function propertyFn(property){return property==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(a,b)=>a-b,normalize:x=>x}}function normalizeSegment({start,end,count,loop,style}){return{start:start%count,end:end%count,loop:loop&&(end-start+1)%count==0,style}}function getSegment(segment,points,bounds){let{property,start:startBound,end:endBound}=bounds,{between,normalize}=propertyFn(property),count=points.length,{start,end,loop}=segment,i,ilen;if(loop){for(start+=count,end+=count,i=0,ilen=count;ibetween(startBound,prevValue,value)&&compare(startBound,prevValue)!==0,endIsBefore=()=>compare(endBound,value)===0||between(endBound,prevValue,value),shouldStart=()=>inside||startIsBefore(),shouldStop=()=>!inside||endIsBefore();for(let i=start,prev=start;i<=end;++i)point=points[i%count],!point.skip&&(value=normalize(point[property]),value!==prevValue&&(inside=between(value,startBound,endBound),subStart===null&&shouldStart()&&(subStart=compare(value,startBound)===0?i:prev),subStart!==null&&shouldStop()&&(result.push(normalizeSegment({start:subStart,end:i,loop,count,style})),subStart=null),prev=i,prevValue=value));return subStart!==null&&result.push(normalizeSegment({start:subStart,end,loop,count,style})),result}function _boundSegments(line,bounds){let result=[],segments=line.segments;for(let i=0;istart&&points[end%count].skip;)end--;return end%=count,{start,end}}function solidSegments(points,start,max,loop){let count=points.length,result=[],last=start,prev=points[start],end;for(end=start+1;end<=max;++end){let cur=points[end%count];cur.skip||cur.stop?prev.skip||(loop=!1,result.push({start:start%count,end:(end-1)%count,loop}),start=last=cur.stop?end:null):(last=end,prev.skip&&(start=end)),prev=cur}return last!==null&&result.push({start:start%count,end:last%count,loop}),result}function _computeSegments(line,segmentOptions){let points=line.points,spanGaps=line.options.spanGaps,count=points.length;if(!count)return[];let loop=!!line._loop,{start,end}=findStartAndEnd(points,count,loop,spanGaps);if(spanGaps===!0)return splitByStyles(line,[{start,end,loop}],points,segmentOptions);let max=endfn({chart,initial:anims.initial,numSteps,currentStep:Math.min(date-anims.start,numSteps)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(date=Date.now()){let remaining=0;this._charts.forEach((anims,chart)=>{if(!anims.running||!anims.items.length)return;let items=anims.items,i=items.length-1,draw2=!1,item;for(;i>=0;--i)item=items[i],item._active?(item._total>anims.duration&&(anims.duration=item._total),item.tick(date),draw2=!0):(items[i]=items[items.length-1],items.pop());draw2&&(chart.draw(),this._notify(chart,anims,date,"progress")),items.length||(anims.running=!1,this._notify(chart,anims,date,"complete"),anims.initial=!1),remaining+=items.length}),this._lastDate=date,remaining===0&&(this._running=!1)}_getAnims(chart){let charts=this._charts,anims=charts.get(chart);return anims||(anims={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},charts.set(chart,anims)),anims}listen(chart,event,cb){this._getAnims(chart).listeners[event].push(cb)}add(chart,items){!items||!items.length||this._getAnims(chart).items.push(...items)}has(chart){return this._getAnims(chart).items.length>0}start(chart){let anims=this._charts.get(chart);!anims||(anims.running=!0,anims.start=Date.now(),anims.duration=anims.items.reduce((acc,cur)=>Math.max(acc,cur._duration),0),this._refresh())}running(chart){if(!this._running)return!1;let anims=this._charts.get(chart);return!(!anims||!anims.running||!anims.items.length)}stop(chart){let anims=this._charts.get(chart);if(!anims||!anims.items.length)return;let items=anims.items,i=items.length-1;for(;i>=0;--i)items[i].cancel();anims.items=[],this._notify(chart,anims,Date.now(),"complete")}remove(chart){return this._charts.delete(chart)}},animator=new Animator,transparent="transparent",interpolators={boolean(from2,to2,factor){return factor>.5?to2:from2},color(from2,to2,factor){let c0=color(from2||transparent),c1=c0.valid&&color(to2||transparent);return c1&&c1.valid?c1.mix(c0,factor).hexString():to2},number(from2,to2,factor){return from2+(to2-from2)*factor}},Animation=class{constructor(cfg,target,prop,to2){let currentValue=target[prop];to2=resolve([cfg.to,to2,currentValue,cfg.from]);let from2=resolve([cfg.from,currentValue,to2]);this._active=!0,this._fn=cfg.fn||interpolators[cfg.type||typeof from2],this._easing=effects[cfg.easing]||effects.linear,this._start=Math.floor(Date.now()+(cfg.delay||0)),this._duration=this._total=Math.floor(cfg.duration),this._loop=!!cfg.loop,this._target=target,this._prop=prop,this._from=from2,this._to=to2,this._promises=void 0}active(){return this._active}update(cfg,to2,date){if(this._active){this._notify(!1);let currentValue=this._target[this._prop],elapsed=date-this._start,remain=this._duration-elapsed;this._start=date,this._duration=Math.floor(Math.max(remain,cfg.duration)),this._total+=elapsed,this._loop=!!cfg.loop,this._to=resolve([cfg.to,to2,currentValue,cfg.from]),this._from=resolve([cfg.from,currentValue,to2])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(date){let elapsed=date-this._start,duration=this._duration,prop=this._prop,from2=this._from,loop=this._loop,to2=this._to,factor;if(this._active=from2!==to2&&(loop||elapsed1?2-factor:factor,factor=this._easing(Math.min(1,Math.max(0,factor))),this._target[prop]=this._fn(from2,to2,factor)}wait(){let promises=this._promises||(this._promises=[]);return new Promise((res,rej)=>{promises.push({res,rej})})}_notify(resolved){let method=resolved?"res":"rej",promises=this._promises||[];for(let i=0;iname!=="onProgress"&&name!=="onComplete"&&name!=="fn"});defaults.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}});defaults.describe("animations",{_fallback:"animation"});defaults.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:v=>v|0}}}});var Animations=class{constructor(chart,config){this._chart=chart,this._properties=new Map,this.configure(config)}configure(config){if(!isObject(config))return;let animatedProps=this._properties;Object.getOwnPropertyNames(config).forEach(key=>{let cfg=config[key];if(!isObject(cfg))return;let resolved={};for(let option of animationOptions)resolved[option]=cfg[option];(isArray(cfg.properties)&&cfg.properties||[key]).forEach(prop=>{(prop===key||!animatedProps.has(prop))&&animatedProps.set(prop,resolved)})})}_animateOptions(target,values){let newOptions=values.options,options=resolveTargetOptions(target,newOptions);if(!options)return[];let animations=this._createAnimations(options,newOptions);return newOptions.$shared&&awaitAll(target.options.$animations,newOptions).then(()=>{target.options=newOptions},()=>{}),animations}_createAnimations(target,values){let animatedProps=this._properties,animations=[],running=target.$animations||(target.$animations={}),props=Object.keys(values),date=Date.now(),i;for(i=props.length-1;i>=0;--i){let prop=props[i];if(prop.charAt(0)==="$")continue;if(prop==="options"){animations.push(...this._animateOptions(target,values));continue}let value=values[prop],animation=running[prop],cfg=animatedProps.get(prop);if(animation)if(cfg&&animation.active()){animation.update(cfg,value,date);continue}else animation.cancel();if(!cfg||!cfg.duration){target[prop]=value;continue}running[prop]=animation=new Animation(cfg,target,prop,value),animations.push(animation)}return animations}update(target,values){if(this._properties.size===0){Object.assign(target,values);return}let animations=this._createAnimations(target,values);if(animations.length)return animator.add(this._chart,animations),!0}};function awaitAll(animations,properties){let running=[],keys=Object.keys(properties);for(let i=0;i0||!positive&&value<0)return meta.index}return null}function updateStacks(controller,parsed){let{chart,_cachedMeta:meta}=controller,stacks=chart._stacks||(chart._stacks={}),{iScale,vScale,index:datasetIndex}=meta,iAxis=iScale.axis,vAxis=vScale.axis,key=getStackKey(iScale,vScale,meta),ilen=parsed.length,stack;for(let i=0;iscales2[key].axis===axis).shift()}function createDatasetContext(parent,index2){return createContext(parent,{active:!1,dataset:void 0,datasetIndex:index2,index:index2,mode:"default",type:"dataset"})}function createDataContext(parent,index2,element){return createContext(parent,{active:!1,dataIndex:index2,parsed:void 0,raw:void 0,element,index:index2,mode:"default",type:"data"})}function clearStacks(meta,items){let datasetIndex=meta.controller.index,axis=meta.vScale&&meta.vScale.axis;if(!!axis){items=items||meta._parsed;for(let parsed of items){let stacks=parsed._stacks;if(!stacks||stacks[axis]===void 0||stacks[axis][datasetIndex]===void 0)return;delete stacks[axis][datasetIndex]}}}var isDirectUpdateMode=mode=>mode==="reset"||mode==="none",cloneIfNotShared=(cached,shared)=>shared?cached:Object.assign({},cached),createStack=(canStack,meta,chart)=>canStack&&!meta.hidden&&meta._stacked&&{keys:getSortedDatasetIndices(chart,!0),values:null},DatasetController=class{constructor(chart,datasetIndex){this.chart=chart,this._ctx=chart.ctx,this.index=datasetIndex,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){let meta=this._cachedMeta;this.configure(),this.linkScales(),meta._stacked=isStacked(meta.vScale,meta),this.addElements()}updateIndex(datasetIndex){this.index!==datasetIndex&&clearStacks(this._cachedMeta),this.index=datasetIndex}linkScales(){let chart=this.chart,meta=this._cachedMeta,dataset=this.getDataset(),chooseId=(axis,x,y,r)=>axis==="x"?x:axis==="r"?r:y,xid=meta.xAxisID=valueOrDefault(dataset.xAxisID,getFirstScaleId(chart,"x")),yid=meta.yAxisID=valueOrDefault(dataset.yAxisID,getFirstScaleId(chart,"y")),rid=meta.rAxisID=valueOrDefault(dataset.rAxisID,getFirstScaleId(chart,"r")),indexAxis=meta.indexAxis,iid=meta.iAxisID=chooseId(indexAxis,xid,yid,rid),vid=meta.vAxisID=chooseId(indexAxis,yid,xid,rid);meta.xScale=this.getScaleForId(xid),meta.yScale=this.getScaleForId(yid),meta.rScale=this.getScaleForId(rid),meta.iScale=this.getScaleForId(iid),meta.vScale=this.getScaleForId(vid)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(scaleID){return this.chart.scales[scaleID]}_getOtherScale(scale){let meta=this._cachedMeta;return scale===meta.iScale?meta.vScale:meta.iScale}reset(){this._update("reset")}_destroy(){let meta=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),meta._stacked&&clearStacks(meta)}_dataCheck(){let dataset=this.getDataset(),data=dataset.data||(dataset.data=[]),_data=this._data;if(isObject(data))this._data=convertObjectDataToArray(data);else if(_data!==data){if(_data){unlistenArrayEvents(_data,this);let meta=this._cachedMeta;clearStacks(meta),meta._parsed=[]}data&&Object.isExtensible(data)&&listenArrayEvents(data,this),this._syncList=[],this._data=data}}addElements(){let meta=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(meta.dataset=new this.datasetElementType)}buildOrUpdateElements(resetNewElements){let meta=this._cachedMeta,dataset=this.getDataset(),stackChanged=!1;this._dataCheck();let oldStacked=meta._stacked;meta._stacked=isStacked(meta.vScale,meta),meta.stack!==dataset.stack&&(stackChanged=!0,clearStacks(meta),meta.stack=dataset.stack),this._resyncElements(resetNewElements),(stackChanged||oldStacked!==meta._stacked)&&updateStacks(this,meta._parsed)}configure(){let config=this.chart.config,scopeKeys=config.datasetScopeKeys(this._type),scopes=config.getOptionScopes(this.getDataset(),scopeKeys,!0);this.options=config.createResolver(scopes,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(start,count){let{_cachedMeta:meta,_data:data}=this,{iScale,_stacked}=meta,iAxis=iScale.axis,sorted=start===0&&count===data.length?!0:meta._sorted,prev=start>0&&meta._parsed[start-1],i,cur,parsed;if(this._parsing===!1)meta._parsed=data,meta._sorted=!0,parsed=data;else{isArray(data[start])?parsed=this.parseArrayData(meta,data,start,count):isObject(data[start])?parsed=this.parseObjectData(meta,data,start,count):parsed=this.parsePrimitiveData(meta,data,start,count);let isNotInOrderComparedToPrev=()=>cur[iAxis]===null||prev&&cur[iAxis]otherValue||otherMax=0;--i)if(!_skip()){this.updateRangeFromParsed(range,scale,parsed,stack);break}}return range}getAllParsedValues(scale){let parsed=this._cachedMeta._parsed,values=[],i,ilen,value;for(i=0,ilen=parsed.length;i=0&&index2this.getContext(index2,active),values=config.resolveNamedOptions(scopes,names2,context,prefixes);return values.$shared&&(values.$shared=sharing,cache[cacheKey]=Object.freeze(cloneIfNotShared(values,sharing))),values}_resolveAnimations(index2,transition,active){let chart=this.chart,cache=this._cachedDataOpts,cacheKey=`animation-${transition}`,cached=cache[cacheKey];if(cached)return cached;let options;if(chart.options.animation!==!1){let config=this.chart.config,scopeKeys=config.datasetAnimationScopeKeys(this._type,transition),scopes=config.getOptionScopes(this.getDataset(),scopeKeys);options=config.createResolver(scopes,this.getContext(index2,active,transition))}let animations=new Animations(chart,options&&options.animations);return options&&options._cacheable&&(cache[cacheKey]=Object.freeze(animations)),animations}getSharedOptions(options){if(!!options.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},options))}includeOptions(mode,sharedOptions){return!sharedOptions||isDirectUpdateMode(mode)||this.chart._animationsDisabled}_getSharedOptions(start,mode){let firstOpts=this.resolveDataElementOptions(start,mode),previouslySharedOptions=this._sharedOptions,sharedOptions=this.getSharedOptions(firstOpts),includeOptions=this.includeOptions(mode,sharedOptions)||sharedOptions!==previouslySharedOptions;return this.updateSharedOptions(sharedOptions,mode,firstOpts),{sharedOptions,includeOptions}}updateElement(element,index2,properties,mode){isDirectUpdateMode(mode)?Object.assign(element,properties):this._resolveAnimations(index2,mode).update(element,properties)}updateSharedOptions(sharedOptions,mode,newOptions){sharedOptions&&!isDirectUpdateMode(mode)&&this._resolveAnimations(void 0,mode).update(sharedOptions,newOptions)}_setStyle(element,index2,mode,active){element.active=active;let options=this.getStyle(index2,active);this._resolveAnimations(index2,mode,active).update(element,{options:!active&&this.getSharedOptions(options)||options})}removeHoverStyle(element,datasetIndex,index2){this._setStyle(element,index2,"active",!1)}setHoverStyle(element,datasetIndex,index2){this._setStyle(element,index2,"active",!0)}_removeDatasetHoverStyle(){let element=this._cachedMeta.dataset;element&&this._setStyle(element,void 0,"active",!1)}_setDatasetHoverStyle(){let element=this._cachedMeta.dataset;element&&this._setStyle(element,void 0,"active",!0)}_resyncElements(resetNewElements){let data=this._data,elements2=this._cachedMeta.data;for(let[method,arg1,arg2]of this._syncList)this[method](arg1,arg2);this._syncList=[];let numMeta=elements2.length,numData=data.length,count=Math.min(numData,numMeta);count&&this.parse(0,count),numData>numMeta?this._insertElements(numMeta,numData-numMeta,resetNewElements):numData{for(arr.length+=count,i=arr.length-1;i>=end;i--)arr[i]=arr[i-count]};for(move(data),i=start;ia-b))}return scale._cache.$bar}function computeMinSampleSize(meta){let scale=meta.iScale,values=getAllScaleValues(scale,meta.type),min=scale._length,i,ilen,curr,prev,updateMinAndPrev=()=>{curr===32767||curr===-32768||(defined(prev)&&(min=Math.min(min,Math.abs(curr-prev)||min)),prev=curr)};for(i=0,ilen=values.length;i0?pixels[index2-1]:null,next=index2Math.abs(max)&&(barStart=max,barEnd=min),item[vScale.axis]=barEnd,item._custom={barStart,barEnd,start:startValue,end:endValue,min,max}}function parseValue(entry,item,vScale,i){return isArray(entry)?parseFloatBar(entry,item,vScale,i):item[vScale.axis]=vScale.parse(entry,i),item}function parseArrayOrPrimitive(meta,data,start,count){let iScale=meta.iScale,vScale=meta.vScale,labels=iScale.getLabels(),singleScale=iScale===vScale,parsed=[],i,ilen,item,entry;for(i=start,ilen=start+count;i=actualBase?1:-1)}function borderProps(properties){let reverse,start,end,top,bottom;return properties.horizontal?(reverse=properties.base>properties.x,start="left",end="right"):(reverse=properties.basemeta.controller.options.grouped),stacked=iScale.options.stacked,stacks=[],skipNull=meta=>{let parsed=meta.controller.getParsed(dataIndex),val=parsed&&parsed[meta.vScale.axis];if(isNullOrUndef(val)||isNaN(val))return!0};for(let meta of metasets)if(!(dataIndex!==void 0&&skipNull(meta))&&((stacked===!1||stacks.indexOf(meta.stack)===-1||stacked===void 0&&meta.stack===void 0)&&stacks.push(meta.stack),meta.index===last))break;return stacks.length||stacks.push(void 0),stacks}_getStackCount(index2){return this._getStacks(void 0,index2).length}_getStackIndex(datasetIndex,name,dataIndex){let stacks=this._getStacks(datasetIndex,dataIndex),index2=name!==void 0?stacks.indexOf(name):-1;return index2===-1?stacks.length-1:index2}_getRuler(){let opts=this.options,meta=this._cachedMeta,iScale=meta.iScale,pixels=[],i,ilen;for(i=0,ilen=meta.data.length;i=0;--i)max=Math.max(max,data[i].size(this.resolveDataElementOptions(i))/2);return max>0&&max}getLabelAndValue(index2){let meta=this._cachedMeta,{xScale,yScale}=meta,parsed=this.getParsed(index2),x=xScale.getLabelForValue(parsed.x),y=yScale.getLabelForValue(parsed.y),r=parsed._custom;return{label:meta.label,value:"("+x+", "+y+(r?", "+r:"")+")"}}update(mode){let points=this._cachedMeta.data;this.updateElements(points,0,points.length,mode)}updateElements(points,start,count,mode){let reset=mode==="reset",{iScale,vScale}=this._cachedMeta,{sharedOptions,includeOptions}=this._getSharedOptions(start,mode),iAxis=iScale.axis,vAxis=vScale.axis;for(let i=start;i_angleBetween(angle,startAngle,endAngle,!0)?1:Math.max(a,a*cutout,b,b*cutout),calcMin=(angle,a,b)=>_angleBetween(angle,startAngle,endAngle,!0)?-1:Math.min(a,a*cutout,b,b*cutout),maxX=calcMax(0,startX,endX),maxY=calcMax(HALF_PI,startY,endY),minX=calcMin(PI,startX,endX),minY=calcMin(PI+HALF_PI,startY,endY);ratioX=(maxX-minX)/2,ratioY=(maxY-minY)/2,offsetX=-(maxX+minX)/2,offsetY=-(maxY+minY)/2}return{ratioX,ratioY,offsetX,offsetY}}var DoughnutController=class extends DatasetController{constructor(chart,datasetIndex){super(chart,datasetIndex);this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(start,count){let data=this.getDataset().data,meta=this._cachedMeta;if(this._parsing===!1)meta._parsed=data;else{let getter=i2=>+data[i2];if(isObject(data[start])){let{key="value"}=this._parsing;getter=i2=>+resolveObjectKey(data[i2],key)}let i,ilen;for(i=start,ilen=start+count;i0&&!isNaN(value)?TAU*(Math.abs(value)/total):0}getLabelAndValue(index2){let meta=this._cachedMeta,chart=this.chart,labels=chart.data.labels||[],value=formatNumber(meta._parsed[index2],chart.options.locale);return{label:labels[index2]||"",value}}getMaxBorderWidth(arcs){let max=0,chart=this.chart,i,ilen,meta,controller,options;if(!arcs){for(i=0,ilen=chart.data.datasets.length;iname!=="spacing",_indexable:name=>name!=="spacing"};DoughnutController.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(chart){let data=chart.data;if(data.labels.length&&data.datasets.length){let{labels:{pointStyle}}=chart.legend.options;return data.labels.map((label,i)=>{let style=chart.getDatasetMeta(0).controller.getStyle(i);return{text:label,fillStyle:style.backgroundColor,strokeStyle:style.borderColor,lineWidth:style.borderWidth,pointStyle,hidden:!chart.getDataVisibility(i),index:i}})}return[]}},onClick(e,legendItem,legend){legend.chart.toggleDataVisibility(legendItem.index),legend.chart.update()}},tooltip:{callbacks:{title(){return""},label(tooltipItem){let dataLabel=tooltipItem.label,value=": "+tooltipItem.formattedValue;return isArray(dataLabel)?(dataLabel=dataLabel.slice(),dataLabel[0]+=value):dataLabel+=value,dataLabel}}}}};var LineController=class extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(mode){let meta=this._cachedMeta,{dataset:line,data:points=[],_dataset}=meta,animationsDisabled=this.chart._animationsDisabled,{start,count}=_getStartAndCountOfVisiblePoints(meta,points,animationsDisabled);this._drawStart=start,this._drawCount=count,_scaleRangesChanged(meta)&&(start=0,count=points.length),line._chart=this.chart,line._datasetIndex=this.index,line._decimated=!!_dataset._decimated,line.points=points;let options=this.resolveDatasetElementOptions(mode);this.options.showLine||(options.borderWidth=0),options.segment=this.options.segment,this.updateElement(line,void 0,{animated:!animationsDisabled,options},mode),this.updateElements(points,start,count,mode)}updateElements(points,start,count,mode){let reset=mode==="reset",{iScale,vScale,_stacked,_dataset}=this._cachedMeta,{sharedOptions,includeOptions}=this._getSharedOptions(start,mode),iAxis=iScale.axis,vAxis=vScale.axis,{spanGaps,segment}=this.options,maxGapLength=isNumber(spanGaps)?spanGaps:Number.POSITIVE_INFINITY,directUpdate=this.chart._animationsDisabled||reset||mode==="none",prevParsed=start>0&&this.getParsed(start-1);for(let i=start;i0&&Math.abs(parsed[iAxis]-prevParsed[iAxis])>maxGapLength,segment&&(properties.parsed=parsed,properties.raw=_dataset.data[i]),includeOptions&&(properties.options=sharedOptions||this.resolveDataElementOptions(i,point.active?"active":mode)),directUpdate||this.updateElement(point,i,properties,mode),prevParsed=parsed}}getMaxOverflow(){let meta=this._cachedMeta,dataset=meta.dataset,border=dataset.options&&dataset.options.borderWidth||0,data=meta.data||[];if(!data.length)return border;let firstPoint=data[0].size(this.resolveDataElementOptions(0)),lastPoint=data[data.length-1].size(this.resolveDataElementOptions(data.length-1));return Math.max(border,firstPoint,lastPoint)/2}draw(){let meta=this._cachedMeta;meta.dataset.updateControlPoints(this.chart.chartArea,meta.iScale.axis),super.draw()}};LineController.id="line";LineController.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};LineController.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};var PolarAreaController=class extends DatasetController{constructor(chart,datasetIndex){super(chart,datasetIndex);this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(index2){let meta=this._cachedMeta,chart=this.chart,labels=chart.data.labels||[],value=formatNumber(meta._parsed[index2].r,chart.options.locale);return{label:labels[index2]||"",value}}parseObjectData(meta,data,start,count){return _parseObjectDataRadialScale.bind(this)(meta,data,start,count)}update(mode){let arcs=this._cachedMeta.data;this._updateRadius(),this.updateElements(arcs,0,arcs.length,mode)}getMinMax(){let meta=this._cachedMeta,range={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return meta.data.forEach((element,index2)=>{let parsed=this.getParsed(index2).r;!isNaN(parsed)&&this.chart.getDataVisibility(index2)&&(parsedrange.max&&(range.max=parsed))}),range}_updateRadius(){let chart=this.chart,chartArea=chart.chartArea,opts=chart.options,minSize=Math.min(chartArea.right-chartArea.left,chartArea.bottom-chartArea.top),outerRadius=Math.max(minSize/2,0),innerRadius=Math.max(opts.cutoutPercentage?outerRadius/100*opts.cutoutPercentage:1,0),radiusLength=(outerRadius-innerRadius)/chart.getVisibleDatasetCount();this.outerRadius=outerRadius-radiusLength*this.index,this.innerRadius=this.outerRadius-radiusLength}updateElements(arcs,start,count,mode){let reset=mode==="reset",chart=this.chart,animationOpts=chart.options.animation,scale=this._cachedMeta.rScale,centerX=scale.xCenter,centerY=scale.yCenter,datasetStartAngle=scale.getIndexAngle(0)-.5*PI,angle=datasetStartAngle,i,defaultAngle=360/this.countVisibleElements();for(i=0;i{!isNaN(this.getParsed(index2).r)&&this.chart.getDataVisibility(index2)&&count++}),count}_computeAngle(index2,mode,defaultAngle){return this.chart.getDataVisibility(index2)?toRadians(this.resolveDataElementOptions(index2,mode).angle||defaultAngle):0}};PolarAreaController.id="polarArea";PolarAreaController.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};PolarAreaController.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(chart){let data=chart.data;if(data.labels.length&&data.datasets.length){let{labels:{pointStyle}}=chart.legend.options;return data.labels.map((label,i)=>{let style=chart.getDatasetMeta(0).controller.getStyle(i);return{text:label,fillStyle:style.backgroundColor,strokeStyle:style.borderColor,lineWidth:style.borderWidth,pointStyle,hidden:!chart.getDataVisibility(i),index:i}})}return[]}},onClick(e,legendItem,legend){legend.chart.toggleDataVisibility(legendItem.index),legend.chart.update()}},tooltip:{callbacks:{title(){return""},label(context){return context.chart.data.labels[context.dataIndex]+": "+context.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};var PieController=class extends DoughnutController{};PieController.id="pie";PieController.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};var RadarController=class extends DatasetController{getLabelAndValue(index2){let vScale=this._cachedMeta.vScale,parsed=this.getParsed(index2);return{label:vScale.getLabels()[index2],value:""+vScale.getLabelForValue(parsed[vScale.axis])}}parseObjectData(meta,data,start,count){return _parseObjectDataRadialScale.bind(this)(meta,data,start,count)}update(mode){let meta=this._cachedMeta,line=meta.dataset,points=meta.data||[],labels=meta.iScale.getLabels();if(line.points=points,mode!=="resize"){let options=this.resolveDatasetElementOptions(mode);this.options.showLine||(options.borderWidth=0);let properties={_loop:!0,_fullLoop:labels.length===points.length,options};this.updateElement(line,void 0,properties,mode)}this.updateElements(points,0,points.length,mode)}updateElements(points,start,count,mode){let scale=this._cachedMeta.rScale,reset=mode==="reset";for(let i=start;i{ret[prop]=anims[prop]&&anims[prop].active()?anims[prop]._to:this[prop]}),ret}};Element2.defaults={};Element2.defaultRoutes=void 0;var formatters={values(value){return isArray(value)?value:""+value},numeric(tickValue,index2,ticks){if(tickValue===0)return"0";let locale=this.chart.options.locale,notation,delta=tickValue;if(ticks.length>1){let maxTick=Math.max(Math.abs(ticks[0].value),Math.abs(ticks[ticks.length-1].value));(maxTick<1e-4||maxTick>1e15)&&(notation="scientific"),delta=calculateDelta(tickValue,ticks)}let logDelta=log10(Math.abs(delta)),numDecimal=Math.max(Math.min(-1*Math.floor(logDelta),20),0),options={notation,minimumFractionDigits:numDecimal,maximumFractionDigits:numDecimal};return Object.assign(options,this.options.ticks.format),formatNumber(tickValue,locale,options)},logarithmic(tickValue,index2,ticks){if(tickValue===0)return"0";let remain=tickValue/Math.pow(10,Math.floor(log10(tickValue)));return remain===1||remain===2||remain===5?formatters.numeric.call(this,tickValue,index2,ticks):""}};function calculateDelta(tickValue,ticks){let delta=ticks.length>3?ticks[2].value-ticks[1].value:ticks[1].value-ticks[0].value;return Math.abs(delta)>=1&&tickValue!==Math.floor(tickValue)&&(delta=tickValue-Math.floor(tickValue)),delta}var Ticks={formatters};defaults.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(_ctx,options)=>options.lineWidth,tickColor:(_ctx,options)=>options.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}});defaults.route("scale.ticks","color","","color");defaults.route("scale.grid","color","","borderColor");defaults.route("scale.grid","borderColor","","borderColor");defaults.route("scale.title","color","","color");defaults.describe("scale",{_fallback:!1,_scriptable:name=>!name.startsWith("before")&&!name.startsWith("after")&&name!=="callback"&&name!=="parser",_indexable:name=>name!=="borderDash"&&name!=="tickBorderDash"});defaults.describe("scales",{_fallback:"scale"});defaults.describe("scale.ticks",{_scriptable:name=>name!=="backdropPadding"&&name!=="callback",_indexable:name=>name!=="backdropPadding"});function autoSkip(scale,ticks){let tickOpts=scale.options.ticks,ticksLimit=tickOpts.maxTicksLimit||determineMaxTicks(scale),majorIndices=tickOpts.major.enabled?getMajorIndices(ticks):[],numMajorIndices=majorIndices.length,first=majorIndices[0],last=majorIndices[numMajorIndices-1],newTicks=[];if(numMajorIndices>ticksLimit)return skipMajors(ticks,newTicks,majorIndices,numMajorIndices/ticksLimit),newTicks;let spacing=calculateSpacing(majorIndices,ticks,ticksLimit);if(numMajorIndices>0){let i,ilen,avgMajorSpacing=numMajorIndices>1?Math.round((last-first)/(numMajorIndices-1)):null;for(skip(ticks,newTicks,spacing,isNullOrUndef(avgMajorSpacing)?0:first-avgMajorSpacing,first),i=0,ilen=numMajorIndices-1;ispacing)return factor}return Math.max(spacing,1)}function getMajorIndices(ticks){let result=[],i,ilen;for(i=0,ilen=ticks.length;ialign==="left"?"right":align==="right"?"left":align,offsetFromEdge=(scale,edge,offset)=>edge==="top"||edge==="left"?scale[edge]+offset:scale[edge]-offset;function sample(arr,numItems){let result=[],increment=arr.length/numItems,len=arr.length,i=0;for(;iend+epsilon)))return lineValue}function garbageCollect(caches,length){each(caches,cache=>{let gc=cache.gc,gcLen=gc.length/2,i;if(gcLen>length){for(i=0;imax?max:min,max=minDefined&&min>max?min:max,{min:finiteOrDefault(min,finiteOrDefault(max,min)),max:finiteOrDefault(max,finiteOrDefault(min,max))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let data=this.chart.data;return this.options.labels||(this.isHorizontal()?data.xLabels:data.yLabels)||data.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(maxWidth,maxHeight,margins){let{beginAtZero,grace,ticks:tickOpts}=this.options,sampleSize=tickOpts.sampleSize;this.beforeUpdate(),this.maxWidth=maxWidth,this.maxHeight=maxHeight,this._margins=margins=Object.assign({left:0,right:0,top:0,bottom:0},margins),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+margins.left+margins.right:this.height+margins.top+margins.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,grace,beginAtZero),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let samplingEnabled=sampleSize=maxRotation||numTicks<=1||!this.isHorizontal()){this.labelRotation=minRotation;return}let labelSizes=this._getLabelSizes(),maxLabelWidth=labelSizes.widest.width,maxLabelHeight=labelSizes.highest.height,maxWidth=_limitValue(this.chart.width-maxLabelWidth,0,this.maxWidth);tickWidth=options.offset?this.maxWidth/numTicks:maxWidth/(numTicks-1),maxLabelWidth+6>tickWidth&&(tickWidth=maxWidth/(numTicks-(options.offset?.5:1)),maxHeight=this.maxHeight-getTickMarkLength(options.grid)-tickOpts.padding-getTitleHeight(options.title,this.chart.options.font),maxLabelDiagonal=Math.sqrt(maxLabelWidth*maxLabelWidth+maxLabelHeight*maxLabelHeight),labelRotation=toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height+6)/tickWidth,-1,1)),Math.asin(_limitValue(maxHeight/maxLabelDiagonal,-1,1))-Math.asin(_limitValue(maxLabelHeight/maxLabelDiagonal,-1,1)))),labelRotation=Math.max(minRotation,Math.min(maxRotation,labelRotation))),this.labelRotation=labelRotation}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){let minSize={width:0,height:0},{chart,options:{ticks:tickOpts,title:titleOpts,grid:gridOpts}}=this,display=this._isVisible(),isHorizontal=this.isHorizontal();if(display){let titleHeight=getTitleHeight(titleOpts,chart.options.font);if(isHorizontal?(minSize.width=this.maxWidth,minSize.height=getTickMarkLength(gridOpts)+titleHeight):(minSize.height=this.maxHeight,minSize.width=getTickMarkLength(gridOpts)+titleHeight),tickOpts.display&&this.ticks.length){let{first,last,widest,highest}=this._getLabelSizes(),tickPadding=tickOpts.padding*2,angleRadians=toRadians(this.labelRotation),cos=Math.cos(angleRadians),sin=Math.sin(angleRadians);if(isHorizontal){let labelHeight=tickOpts.mirror?0:sin*widest.width+cos*highest.height;minSize.height=Math.min(this.maxHeight,minSize.height+labelHeight+tickPadding)}else{let labelWidth=tickOpts.mirror?0:cos*widest.width+sin*highest.height;minSize.width=Math.min(this.maxWidth,minSize.width+labelWidth+tickPadding)}this._calculatePadding(first,last,sin,cos)}}this._handleMargins(),isHorizontal?(this.width=this._length=chart.width-this._margins.left-this._margins.right,this.height=minSize.height):(this.width=minSize.width,this.height=this._length=chart.height-this._margins.top-this._margins.bottom)}_calculatePadding(first,last,sin,cos){let{ticks:{align,padding},position}=this.options,isRotated=this.labelRotation!==0,labelsBelowTicks=position!=="top"&&this.axis==="x";if(this.isHorizontal()){let offsetLeft=this.getPixelForTick(0)-this.left,offsetRight=this.right-this.getPixelForTick(this.ticks.length-1),paddingLeft=0,paddingRight=0;isRotated?labelsBelowTicks?(paddingLeft=cos*first.width,paddingRight=sin*last.height):(paddingLeft=sin*first.height,paddingRight=cos*last.width):align==="start"?paddingRight=last.width:align==="end"?paddingLeft=first.width:align!=="inner"&&(paddingLeft=first.width/2,paddingRight=last.width/2),this.paddingLeft=Math.max((paddingLeft-offsetLeft+padding)*this.width/(this.width-offsetLeft),0),this.paddingRight=Math.max((paddingRight-offsetRight+padding)*this.width/(this.width-offsetRight),0)}else{let paddingTop=last.height/2,paddingBottom=first.height/2;align==="start"?(paddingTop=0,paddingBottom=first.height):align==="end"&&(paddingTop=last.height,paddingBottom=0),this.paddingTop=paddingTop+padding,this.paddingBottom=paddingBottom+padding}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){let{axis,position}=this.options;return position==="top"||position==="bottom"||axis==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(ticks){this.beforeTickToLabelConversion(),this.generateTickLabels(ticks);let i,ilen;for(i=0,ilen=ticks.length;i({width:widths[idx]||0,height:heights[idx]||0});return{first:valueAt(0),last:valueAt(length-1),widest:valueAt(widest),highest:valueAt(highest),widths,heights}}getLabelForValue(value){return value}getPixelForValue(value,index2){return NaN}getValueForPixel(pixel){}getPixelForTick(index2){let ticks=this.ticks;return index2<0||index2>ticks.length-1?null:this.getPixelForValue(ticks[index2].value)}getPixelForDecimal(decimal){this._reversePixels&&(decimal=1-decimal);let pixel=this._startPixel+decimal*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,pixel,0):pixel)}getDecimalForPixel(pixel){let decimal=(pixel-this._startPixel)/this._length;return this._reversePixels?1-decimal:decimal}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min,max}=this;return min<0&&max<0?max:min>0&&max>0?min:0}getContext(index2){let ticks=this.ticks||[];if(index2>=0&&index2w*sin?w/cos:h/sin:h*sin0}_computeGridLineItems(chartArea){let axis=this.axis,chart=this.chart,options=this.options,{grid,position}=options,offset=grid.offset,isHorizontal=this.isHorizontal(),ticksLength=this.ticks.length+(offset?1:0),tl=getTickMarkLength(grid),items=[],borderOpts=grid.setContext(this.getContext()),axisWidth=borderOpts.drawBorder?borderOpts.borderWidth:0,axisHalfWidth=axisWidth/2,alignBorderValue=function(pixel){return _alignPixel(chart,pixel,axisWidth)},borderValue,i,lineValue,alignedLineValue,tx1,ty1,tx2,ty2,x1,y1,x2,y2;if(position==="top")borderValue=alignBorderValue(this.bottom),ty1=this.bottom-tl,ty2=borderValue-axisHalfWidth,y1=alignBorderValue(chartArea.top)+axisHalfWidth,y2=chartArea.bottom;else if(position==="bottom")borderValue=alignBorderValue(this.top),y1=chartArea.top,y2=alignBorderValue(chartArea.bottom)-axisHalfWidth,ty1=borderValue+axisHalfWidth,ty2=this.top+tl;else if(position==="left")borderValue=alignBorderValue(this.right),tx1=this.right-tl,tx2=borderValue-axisHalfWidth,x1=alignBorderValue(chartArea.left)+axisHalfWidth,x2=chartArea.right;else if(position==="right")borderValue=alignBorderValue(this.left),x1=chartArea.left,x2=alignBorderValue(chartArea.right)-axisHalfWidth,tx1=borderValue+axisHalfWidth,tx2=this.left+tl;else if(axis==="x"){if(position==="center")borderValue=alignBorderValue((chartArea.top+chartArea.bottom)/2+.5);else if(isObject(position)){let positionAxisID=Object.keys(position)[0],value=position[positionAxisID];borderValue=alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value))}y1=chartArea.top,y2=chartArea.bottom,ty1=borderValue+axisHalfWidth,ty2=ty1+tl}else if(axis==="y"){if(position==="center")borderValue=alignBorderValue((chartArea.left+chartArea.right)/2);else if(isObject(position)){let positionAxisID=Object.keys(position)[0],value=position[positionAxisID];borderValue=alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value))}tx1=borderValue-axisHalfWidth,tx2=tx1-tl,x1=chartArea.left,x2=chartArea.right}let limit=valueOrDefault(options.ticks.maxTicksLimit,ticksLength),step=Math.max(1,Math.ceil(ticksLength/limit));for(i=0;it.value===value);return index2>=0?grid.setContext(this.getContext(index2)).lineWidth:0}drawGrid(chartArea){let grid=this.options.grid,ctx=this.ctx,items=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(chartArea)),i,ilen,drawLine=(p1,p2,style)=>{!style.width||!style.color||(ctx.save(),ctx.lineWidth=style.width,ctx.strokeStyle=style.color,ctx.setLineDash(style.borderDash||[]),ctx.lineDashOffset=style.borderDashOffset,ctx.beginPath(),ctx.moveTo(p1.x,p1.y),ctx.lineTo(p2.x,p2.y),ctx.stroke(),ctx.restore())};if(grid.display)for(i=0,ilen=items.length;i{this.draw(chartArea)}}]:[{z:gz,draw:chartArea=>{this.drawBackground(),this.drawGrid(chartArea),this.drawTitle()}},{z:gz+1,draw:()=>{this.drawBorder()}},{z:tz,draw:chartArea=>{this.drawLabels(chartArea)}}]}getMatchingVisibleMetas(type){let metas=this.chart.getSortedVisibleDatasetMetas(),axisID=this.axis+"AxisID",result=[],i,ilen;for(i=0,ilen=metas.length;i{let propertyParts=property.split("."),sourceName=propertyParts.pop(),sourceScope=[scope].concat(propertyParts).join("."),parts=routes[property].split("."),targetName=parts.pop(),targetScope=parts.join(".");defaults.route(sourceScope,sourceName,targetScope,targetName)})}function isIChartComponent(proto){return"id"in proto&&"defaults"in proto}var Registry=class{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element2,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...args){this._each("register",args)}remove(...args){this._each("unregister",args)}addControllers(...args){this._each("register",args,this.controllers)}addElements(...args){this._each("register",args,this.elements)}addPlugins(...args){this._each("register",args,this.plugins)}addScales(...args){this._each("register",args,this.scales)}getController(id){return this._get(id,this.controllers,"controller")}getElement(id){return this._get(id,this.elements,"element")}getPlugin(id){return this._get(id,this.plugins,"plugin")}getScale(id){return this._get(id,this.scales,"scale")}removeControllers(...args){this._each("unregister",args,this.controllers)}removeElements(...args){this._each("unregister",args,this.elements)}removePlugins(...args){this._each("unregister",args,this.plugins)}removeScales(...args){this._each("unregister",args,this.scales)}_each(method,args,typedRegistry){[...args].forEach(arg=>{let reg=typedRegistry||this._getRegistryForType(arg);typedRegistry||reg.isForType(arg)||reg===this.plugins&&arg.id?this._exec(method,reg,arg):each(arg,item=>{let itemReg=typedRegistry||this._getRegistryForType(item);this._exec(method,itemReg,item)})})}_exec(method,registry2,component){let camelMethod=_capitalize(method);callback(component["before"+camelMethod],[],component),registry2[method](component),callback(component["after"+camelMethod],[],component)}_getRegistryForType(type){for(let i=0;i0&&this.getParsed(start-1);for(let i=start;i0&&Math.abs(parsed[iAxis]-prevParsed[iAxis])>maxGapLength,segment&&(properties.parsed=parsed,properties.raw=_dataset.data[i]),includeOptions&&(properties.options=sharedOptions||this.resolveDataElementOptions(i,point.active?"active":mode)),directUpdate||this.updateElement(point,i,properties,mode),prevParsed=parsed}this.updateSharedOptions(sharedOptions,mode,firstOpts)}getMaxOverflow(){let meta=this._cachedMeta,data=meta.data||[];if(!this.options.showLine){let max=0;for(let i=data.length-1;i>=0;--i)max=Math.max(max,data[i].size(this.resolveDataElementOptions(i))/2);return max>0&&max}let dataset=meta.dataset,border=dataset.options&&dataset.options.borderWidth||0;if(!data.length)return border;let firstPoint=data[0].size(this.resolveDataElementOptions(0)),lastPoint=data[data.length-1].size(this.resolveDataElementOptions(data.length-1));return Math.max(border,firstPoint,lastPoint)/2}};ScatterController.id="scatter";ScatterController.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};ScatterController.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title(){return""},label(item){return"("+item.label+", "+item.formattedValue+")"}}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PolarAreaController,PieController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var DateAdapter=class{constructor(options){this.options=options||{}}init(chartOptions){}formats(){return abstract()}parse(value,format){return abstract()}format(timestamp,format){return abstract()}add(timestamp,amount,unit){return abstract()}diff(a,b,unit){return abstract()}startOf(timestamp,unit,weekday){return abstract()}endOf(timestamp,unit){return abstract()}};DateAdapter.override=function(members){Object.assign(DateAdapter.prototype,members)};var adapters={_date:DateAdapter};function binarySearch(metaset,axis,value,intersect){let{controller,data,_sorted}=metaset,iScale=controller._cachedMeta.iScale;if(iScale&&axis===iScale.axis&&axis!=="r"&&_sorted&&data.length){let lookupMethod=iScale._reversePixels?_rlookupByKey:_lookupByKey;if(intersect){if(controller._sharedOptions){let el=data[0],range=typeof el.getRange=="function"&&el.getRange(axis);if(range){let start=lookupMethod(data,axis,value-range),end=lookupMethod(data,axis,value+range);return{lo:start.lo,hi:end.hi}}}}else return lookupMethod(data,axis,value)}return{lo:0,hi:data.length-1}}function evaluateInteractionItems(chart,axis,position,handler,intersect){let metasets=chart.getSortedVisibleDatasetMetas(),value=position[axis];for(let i=0,ilen=metasets.length;i{element[rangeMethod](position[axis],useFinalPosition)&&(items.push({element,datasetIndex,index:index2}),intersectsItem=intersectsItem||element.inRange(position.x,position.y,useFinalPosition))}),intersect&&!intersectsItem?[]:items}var Interaction={evaluateInteractionItems,modes:{index(chart,e,options,useFinalPosition){let position=getRelativePosition(e,chart),axis=options.axis||"x",includeInvisible=options.includeInvisible||!1,items=options.intersect?getIntersectItems(chart,position,axis,useFinalPosition,includeInvisible):getNearestItems(chart,position,axis,!1,useFinalPosition,includeInvisible),elements2=[];return items.length?(chart.getSortedVisibleDatasetMetas().forEach(meta=>{let index2=items[0].index,element=meta.data[index2];element&&!element.skip&&elements2.push({element,datasetIndex:meta.index,index:index2})}),elements2):[]},dataset(chart,e,options,useFinalPosition){let position=getRelativePosition(e,chart),axis=options.axis||"xy",includeInvisible=options.includeInvisible||!1,items=options.intersect?getIntersectItems(chart,position,axis,useFinalPosition,includeInvisible):getNearestItems(chart,position,axis,!1,useFinalPosition,includeInvisible);if(items.length>0){let datasetIndex=items[0].datasetIndex,data=chart.getDatasetMeta(datasetIndex).data;items=[];for(let i=0;iv.pos===position)}function filterDynamicPositionByAxis(array,axis){return array.filter(v=>STATIC_POSITIONS.indexOf(v.pos)===-1&&v.box.axis===axis)}function sortByWeight(array,reverse){return array.sort((a,b)=>{let v0=reverse?b:a,v1=reverse?a:b;return v0.weight===v1.weight?v0.index-v1.index:v0.weight-v1.weight})}function wrapBoxes(boxes){let layoutBoxes=[],i,ilen,box,pos,stack,stackWeight;for(i=0,ilen=(boxes||[]).length;iwrap.box.fullSize),!0),left=sortByWeight(filterByPosition(layoutBoxes,"left"),!0),right=sortByWeight(filterByPosition(layoutBoxes,"right")),top=sortByWeight(filterByPosition(layoutBoxes,"top"),!0),bottom=sortByWeight(filterByPosition(layoutBoxes,"bottom")),centerHorizontal=filterDynamicPositionByAxis(layoutBoxes,"x"),centerVertical=filterDynamicPositionByAxis(layoutBoxes,"y");return{fullSize,leftAndTop:left.concat(top),rightAndBottom:right.concat(centerVertical).concat(bottom).concat(centerHorizontal),chartArea:filterByPosition(layoutBoxes,"chartArea"),vertical:left.concat(right).concat(centerVertical),horizontal:top.concat(bottom).concat(centerHorizontal)}}function getCombinedMax(maxPadding,chartArea,a,b){return Math.max(maxPadding[a],chartArea[a])+Math.max(maxPadding[b],chartArea[b])}function updateMaxPadding(maxPadding,boxPadding){maxPadding.top=Math.max(maxPadding.top,boxPadding.top),maxPadding.left=Math.max(maxPadding.left,boxPadding.left),maxPadding.bottom=Math.max(maxPadding.bottom,boxPadding.bottom),maxPadding.right=Math.max(maxPadding.right,boxPadding.right)}function updateDims(chartArea,params,layout,stacks){let{pos,box}=layout,maxPadding=chartArea.maxPadding;if(!isObject(pos)){layout.size&&(chartArea[pos]-=layout.size);let stack=stacks[layout.stack]||{size:0,count:1};stack.size=Math.max(stack.size,layout.horizontal?box.height:box.width),layout.size=stack.size/stack.count,chartArea[pos]+=layout.size}box.getPadding&&updateMaxPadding(maxPadding,box.getPadding());let newWidth=Math.max(0,params.outerWidth-getCombinedMax(maxPadding,chartArea,"left","right")),newHeight=Math.max(0,params.outerHeight-getCombinedMax(maxPadding,chartArea,"top","bottom")),widthChanged=newWidth!==chartArea.w,heightChanged=newHeight!==chartArea.h;return chartArea.w=newWidth,chartArea.h=newHeight,layout.horizontal?{same:widthChanged,other:heightChanged}:{same:heightChanged,other:widthChanged}}function handleMaxPadding(chartArea){let maxPadding=chartArea.maxPadding;function updatePos(pos){let change=Math.max(maxPadding[pos]-chartArea[pos],0);return chartArea[pos]+=change,change}chartArea.y+=updatePos("top"),chartArea.x+=updatePos("left"),updatePos("right"),updatePos("bottom")}function getMargins(horizontal,chartArea){let maxPadding=chartArea.maxPadding;function marginForPositions(positions2){let margin={left:0,top:0,right:0,bottom:0};return positions2.forEach(pos=>{margin[pos]=Math.max(chartArea[pos],maxPadding[pos])}),margin}return marginForPositions(horizontal?["left","right"]:["top","bottom"])}function fitBoxes(boxes,chartArea,params,stacks){let refitBoxes=[],i,ilen,layout,box,refit,changed;for(i=0,ilen=boxes.length,refit=0;i{typeof box.beforeLayout=="function"&&box.beforeLayout()});let visibleVerticalBoxCount=verticalBoxes.reduce((total,wrap)=>wrap.box.options&&wrap.box.options.display===!1?total:total+1,0)||1,params=Object.freeze({outerWidth:width,outerHeight:height,padding,availableWidth,availableHeight,vBoxMaxWidth:availableWidth/2/visibleVerticalBoxCount,hBoxMaxHeight:availableHeight/2}),maxPadding=Object.assign({},padding);updateMaxPadding(maxPadding,toPadding(minPadding));let chartArea=Object.assign({maxPadding,w:availableWidth,h:availableHeight,x:padding.left,y:padding.top},padding),stacks=setLayoutDims(verticalBoxes.concat(horizontalBoxes),params);fitBoxes(boxes.fullSize,chartArea,params,stacks),fitBoxes(verticalBoxes,chartArea,params,stacks),fitBoxes(horizontalBoxes,chartArea,params,stacks)&&fitBoxes(verticalBoxes,chartArea,params,stacks),handleMaxPadding(chartArea),placeBoxes(boxes.leftAndTop,chartArea,params,stacks),chartArea.x+=chartArea.w,chartArea.y+=chartArea.h,placeBoxes(boxes.rightAndBottom,chartArea,params,stacks),chart.chartArea={left:chartArea.left,top:chartArea.top,right:chartArea.left+chartArea.w,bottom:chartArea.top+chartArea.h,height:chartArea.h,width:chartArea.w},each(boxes.chartArea,layout=>{let box=layout.box;Object.assign(box,chart.chartArea),box.update(chartArea.w,chartArea.h,{left:0,top:0,right:0,bottom:0})})}},BasePlatform=class{acquireContext(canvas,aspectRatio){}releaseContext(context){return!1}addEventListener(chart,type,listener){}removeEventListener(chart,type,listener){}getDevicePixelRatio(){return 1}getMaximumSize(element,width,height,aspectRatio){return width=Math.max(0,width||element.width),height=height||element.height,{width,height:Math.max(0,aspectRatio?Math.floor(width/aspectRatio):height)}}isAttached(canvas){return!0}updateConfig(config){}},BasicPlatform=class extends BasePlatform{acquireContext(item){return item&&item.getContext&&item.getContext("2d")||null}updateConfig(config){config.options.animation=!1}},EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=value=>value===null||value==="";function initCanvas(canvas,aspectRatio){let style=canvas.style,renderHeight=canvas.getAttribute("height"),renderWidth=canvas.getAttribute("width");if(canvas[EXPANDO_KEY]={initial:{height:renderHeight,width:renderWidth,style:{display:style.display,height:style.height,width:style.width}}},style.display=style.display||"block",style.boxSizing=style.boxSizing||"border-box",isNullOrEmpty(renderWidth)){let displayWidth=readUsedSize(canvas,"width");displayWidth!==void 0&&(canvas.width=displayWidth)}if(isNullOrEmpty(renderHeight))if(canvas.style.height==="")canvas.height=canvas.width/(aspectRatio||2);else{let displayHeight=readUsedSize(canvas,"height");displayHeight!==void 0&&(canvas.height=displayHeight)}return canvas}var eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(node,type,listener){node.addEventListener(type,listener,eventListenerOptions)}function removeListener(chart,type,listener){chart.canvas.removeEventListener(type,listener,eventListenerOptions)}function fromNativeEvent(event,chart){let type=EVENT_TYPES[event.type]||event.type,{x,y}=getRelativePosition(event,chart);return{type,chart,native:event,x:x!==void 0?x:null,y:y!==void 0?y:null}}function nodeListContains(nodeList,canvas){for(let node of nodeList)if(node===canvas||node.contains(canvas))return!0}function createAttachObserver(chart,type,listener){let canvas=chart.canvas,observer=new MutationObserver(entries=>{let trigger=!1;for(let entry of entries)trigger=trigger||nodeListContains(entry.addedNodes,canvas),trigger=trigger&&!nodeListContains(entry.removedNodes,canvas);trigger&&listener()});return observer.observe(document,{childList:!0,subtree:!0}),observer}function createDetachObserver(chart,type,listener){let canvas=chart.canvas,observer=new MutationObserver(entries=>{let trigger=!1;for(let entry of entries)trigger=trigger||nodeListContains(entry.removedNodes,canvas),trigger=trigger&&!nodeListContains(entry.addedNodes,canvas);trigger&&listener()});return observer.observe(document,{childList:!0,subtree:!0}),observer}var drpListeningCharts=new Map,oldDevicePixelRatio=0;function onWindowResize(){let dpr=window.devicePixelRatio;dpr!==oldDevicePixelRatio&&(oldDevicePixelRatio=dpr,drpListeningCharts.forEach((resize,chart)=>{chart.currentDevicePixelRatio!==dpr&&resize()}))}function listenDevicePixelRatioChanges(chart,resize){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(chart,resize)}function unlistenDevicePixelRatioChanges(chart){drpListeningCharts.delete(chart),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(chart,type,listener){let canvas=chart.canvas,container=canvas&&_getParentNode(canvas);if(!container)return;let resize=throttled((width,height)=>{let w=container.clientWidth;listener(width,height),w{let entry=entries[0],width=entry.contentRect.width,height=entry.contentRect.height;width===0&&height===0||resize(width,height)});return observer.observe(container),listenDevicePixelRatioChanges(chart,resize),observer}function releaseObserver(chart,type,observer){observer&&observer.disconnect(),type==="resize"&&unlistenDevicePixelRatioChanges(chart)}function createProxyAndListen(chart,type,listener){let canvas=chart.canvas,proxy=throttled(event=>{chart.ctx!==null&&listener(fromNativeEvent(event,chart))},chart,args=>{let event=args[0];return[event,event.offsetX,event.offsetY]});return addListener(canvas,type,proxy),proxy}var DomPlatform=class extends BasePlatform{acquireContext(canvas,aspectRatio){let context=canvas&&canvas.getContext&&canvas.getContext("2d");return context&&context.canvas===canvas?(initCanvas(canvas,aspectRatio),context):null}releaseContext(context){let canvas=context.canvas;if(!canvas[EXPANDO_KEY])return!1;let initial=canvas[EXPANDO_KEY].initial;["height","width"].forEach(prop=>{let value=initial[prop];isNullOrUndef(value)?canvas.removeAttribute(prop):canvas.setAttribute(prop,value)});let style=initial.style||{};return Object.keys(style).forEach(key=>{canvas.style[key]=style[key]}),canvas.width=canvas.width,delete canvas[EXPANDO_KEY],!0}addEventListener(chart,type,listener){this.removeEventListener(chart,type);let proxies=chart.$proxies||(chart.$proxies={}),handler={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[type]||createProxyAndListen;proxies[type]=handler(chart,type,listener)}removeEventListener(chart,type){let proxies=chart.$proxies||(chart.$proxies={}),proxy=proxies[type];if(!proxy)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[type]||removeListener)(chart,type,proxy),proxies[type]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(canvas,width,height,aspectRatio){return getMaximumSize(canvas,width,height,aspectRatio)}isAttached(canvas){let container=_getParentNode(canvas);return!!(container&&container.isConnected)}};function _detectPlatform(canvas){return!_isDomSupported()||typeof OffscreenCanvas!="undefined"&&canvas instanceof OffscreenCanvas?BasicPlatform:DomPlatform}var PluginService=class{constructor(){this._init=[]}notify(chart,hook,args,filter){hook==="beforeInit"&&(this._init=this._createDescriptors(chart,!0),this._notify(this._init,chart,"install"));let descriptors2=filter?this._descriptors(chart).filter(filter):this._descriptors(chart),result=this._notify(descriptors2,chart,hook,args);return hook==="afterDestroy"&&(this._notify(descriptors2,chart,"stop"),this._notify(this._init,chart,"uninstall")),result}_notify(descriptors2,chart,hook,args){args=args||{};for(let descriptor of descriptors2){let plugin=descriptor.plugin,method=plugin[hook],params=[chart,args,descriptor.options];if(callback(method,params,plugin)===!1&&args.cancelable)return!1}return!0}invalidate(){isNullOrUndef(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(chart){if(this._cache)return this._cache;let descriptors2=this._cache=this._createDescriptors(chart);return this._notifyStateChanges(chart),descriptors2}_createDescriptors(chart,all){let config=chart&&chart.config,options=valueOrDefault(config.options&&config.options.plugins,{}),plugins2=allPlugins(config);return options===!1&&!all?[]:createDescriptors(chart,plugins2,options,all)}_notifyStateChanges(chart){let previousDescriptors=this._oldCache||[],descriptors2=this._cache,diff=(a,b)=>a.filter(x=>!b.some(y=>x.plugin.id===y.plugin.id));this._notify(diff(previousDescriptors,descriptors2),chart,"stop"),this._notify(diff(descriptors2,previousDescriptors),chart,"start")}};function allPlugins(config){let localIds={},plugins2=[],keys=Object.keys(registry.plugins.items);for(let i=0;i{let scaleConf=configScales[id];if(!isObject(scaleConf))return console.error(`Invalid scale configuration for scale: ${id}`);if(scaleConf._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${id}`);let axis=determineAxis(id,scaleConf),defaultId=getDefaultScaleIDFromAxis(axis,chartIndexAxis),defaultScaleOptions=chartDefaults.scales||{};firstIDs[axis]=firstIDs[axis]||id,scales2[id]=mergeIf(Object.create(null),[{axis},scaleConf,defaultScaleOptions[axis],defaultScaleOptions[defaultId]])}),config.data.datasets.forEach(dataset=>{let type=dataset.type||config.type,indexAxis=dataset.indexAxis||getIndexAxis(type,options),defaultScaleOptions=(overrides[type]||{}).scales||{};Object.keys(defaultScaleOptions).forEach(defaultID=>{let axis=getAxisFromDefaultScaleID(defaultID,indexAxis),id=dataset[axis+"AxisID"]||firstIDs[axis]||axis;scales2[id]=scales2[id]||Object.create(null),mergeIf(scales2[id],[{axis},configScales[id],defaultScaleOptions[defaultID]])})}),Object.keys(scales2).forEach(key=>{let scale=scales2[key];mergeIf(scale,[defaults.scales[scale.type],defaults.scale])}),scales2}function initOptions(config){let options=config.options||(config.options={});options.plugins=valueOrDefault(options.plugins,{}),options.scales=mergeScaleConfig(config,options)}function initData(data){return data=data||{},data.datasets=data.datasets||[],data.labels=data.labels||[],data}function initConfig(config){return config=config||{},config.data=initData(config.data),initOptions(config),config}var keyCache=new Map,keysCached=new Set;function cachedKeys(cacheKey,generate){let keys=keyCache.get(cacheKey);return keys||(keys=generate(),keyCache.set(cacheKey,keys),keysCached.add(keys)),keys}var addIfFound=(set2,obj,key)=>{let opts=resolveObjectKey(obj,key);opts!==void 0&&set2.add(opts)},Config=class{constructor(config){this._config=initConfig(config),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(type){this._config.type=type}get data(){return this._config.data}set data(data){this._config.data=initData(data)}get options(){return this._config.options}set options(options){this._config.options=options}get plugins(){return this._config.plugins}update(){let config=this._config;this.clearCache(),initOptions(config)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(datasetType){return cachedKeys(datasetType,()=>[[`datasets.${datasetType}`,""]])}datasetAnimationScopeKeys(datasetType,transition){return cachedKeys(`${datasetType}.transition.${transition}`,()=>[[`datasets.${datasetType}.transitions.${transition}`,`transitions.${transition}`],[`datasets.${datasetType}`,""]])}datasetElementScopeKeys(datasetType,elementType){return cachedKeys(`${datasetType}-${elementType}`,()=>[[`datasets.${datasetType}.elements.${elementType}`,`datasets.${datasetType}`,`elements.${elementType}`,""]])}pluginScopeKeys(plugin){let id=plugin.id,type=this.type;return cachedKeys(`${type}-plugin-${id}`,()=>[[`plugins.${id}`,...plugin.additionalOptionScopes||[]]])}_cachedScopes(mainScope,resetCache){let _scopeCache=this._scopeCache,cache=_scopeCache.get(mainScope);return(!cache||resetCache)&&(cache=new Map,_scopeCache.set(mainScope,cache)),cache}getOptionScopes(mainScope,keyLists,resetCache){let{options,type}=this,cache=this._cachedScopes(mainScope,resetCache),cached=cache.get(keyLists);if(cached)return cached;let scopes=new Set;keyLists.forEach(keys=>{mainScope&&(scopes.add(mainScope),keys.forEach(key=>addIfFound(scopes,mainScope,key))),keys.forEach(key=>addIfFound(scopes,options,key)),keys.forEach(key=>addIfFound(scopes,overrides[type]||{},key)),keys.forEach(key=>addIfFound(scopes,defaults,key)),keys.forEach(key=>addIfFound(scopes,descriptors,key))});let array=Array.from(scopes);return array.length===0&&array.push(Object.create(null)),keysCached.has(keyLists)&&cache.set(keyLists,array),array}chartOptionScopes(){let{options,type}=this;return[options,overrides[type]||{},defaults.datasets[type]||{},{type},defaults,descriptors]}resolveNamedOptions(scopes,names2,context,prefixes=[""]){let result={$shared:!0},{resolver,subPrefixes}=getResolver(this._resolverCache,scopes,prefixes),options=resolver;if(needContext(resolver,names2)){result.$shared=!1,context=isFunction(context)?context():context;let subResolver=this.createResolver(scopes,context,subPrefixes);options=_attachContext(resolver,context,subResolver)}for(let prop of names2)result[prop]=options[prop];return result}createResolver(scopes,context,prefixes=[""],descriptorDefaults){let{resolver}=getResolver(this._resolverCache,scopes,prefixes);return isObject(context)?_attachContext(resolver,context,void 0,descriptorDefaults):resolver}};function getResolver(resolverCache,scopes,prefixes){let cache=resolverCache.get(scopes);cache||(cache=new Map,resolverCache.set(scopes,cache));let cacheKey=prefixes.join(),cached=cache.get(cacheKey);return cached||(cached={resolver:_createResolver(scopes,prefixes),subPrefixes:prefixes.filter(p=>!p.toLowerCase().includes("hover"))},cache.set(cacheKey,cached)),cached}var hasFunction=value=>isObject(value)&&Object.getOwnPropertyNames(value).reduce((acc,key)=>acc||isFunction(value[key]),!1);function needContext(proxy,names2){let{isScriptable,isIndexable}=_descriptors(proxy);for(let prop of names2){let scriptable=isScriptable(prop),indexable=isIndexable(prop),value=(indexable||scriptable)&&proxy[prop];if(scriptable&&(isFunction(value)||hasFunction(value))||indexable&&isArray(value))return!0}return!1}var version="3.9.1",KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(position,axis){return position==="top"||position==="bottom"||KNOWN_POSITIONS.indexOf(position)===-1&&axis==="x"}function compare2Level(l1,l2){return function(a,b){return a[l1]===b[l1]?a[l2]-b[l2]:a[l1]-b[l1]}}function onAnimationsComplete(context){let chart=context.chart,animationOptions2=chart.options.animation;chart.notifyPlugins("afterRender"),callback(animationOptions2&&animationOptions2.onComplete,[context],chart)}function onAnimationProgress(context){let chart=context.chart,animationOptions2=chart.options.animation;callback(animationOptions2&&animationOptions2.onProgress,[context],chart)}function getCanvas(item){return _isDomSupported()&&typeof item=="string"?item=document.getElementById(item):item&&item.length&&(item=item[0]),item&&item.canvas&&(item=item.canvas),item}var instances={},getChart=key=>{let canvas=getCanvas(key);return Object.values(instances).filter(c=>c.canvas===canvas).pop()};function moveNumericKeys(obj,start,move){let keys=Object.keys(obj);for(let key of keys){let intKey=+key;if(intKey>=start){let value=obj[key];delete obj[key],(move>0||intKey>start)&&(obj[intKey+move]=value)}}}function determineLastEvent(e,lastEvent,inChartArea,isClick){return!inChartArea||e.type==="mouseout"?null:isClick?lastEvent:e}var Chart=class{constructor(item,userConfig){let config=this.config=new Config(userConfig),initialCanvas=getCanvas(item),existingChart=getChart(initialCanvas);if(existingChart)throw new Error("Canvas is already in use. Chart with ID '"+existingChart.id+"' must be destroyed before the canvas with ID '"+existingChart.canvas.id+"' can be reused.");let options=config.createResolver(config.chartOptionScopes(),this.getContext());this.platform=new(config.platform||_detectPlatform(initialCanvas)),this.platform.updateConfig(config);let context=this.platform.acquireContext(initialCanvas,options.aspectRatio),canvas=context&&context.canvas,height=canvas&&canvas.height,width=canvas&&canvas.width;if(this.id=uid(),this.ctx=context,this.canvas=canvas,this.width=width,this.height=height,this._options=options,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce(mode=>this.update(mode),options.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!context||!canvas){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio,maintainAspectRatio},width,height,_aspectRatio}=this;return isNullOrUndef(aspectRatio)?maintainAspectRatio&&_aspectRatio?_aspectRatio:height?width/height:null:aspectRatio}get data(){return this.config.data}set data(data){this.config.data=data}get options(){return this._options}set options(options){this.config.options=options}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(width,height){animator.running(this)?this._resizeBeforeDraw={width,height}:this._resize(width,height)}_resize(width,height){let options=this.options,canvas=this.canvas,aspectRatio=options.maintainAspectRatio&&this.aspectRatio,newSize=this.platform.getMaximumSize(canvas,width,height,aspectRatio),newRatio=options.devicePixelRatio||this.platform.getDevicePixelRatio(),mode=this.width?"resize":"attach";this.width=newSize.width,this.height=newSize.height,this._aspectRatio=this.aspectRatio,!!retinaScale(this,newRatio,!0)&&(this.notifyPlugins("resize",{size:newSize}),callback(options.onResize,[this,newSize],this),this.attached&&this._doResize(mode)&&this.render())}ensureScalesHaveIDs(){let scalesOptions=this.options.scales||{};each(scalesOptions,(axisOptions,axisID)=>{axisOptions.id=axisID})}buildOrUpdateScales(){let options=this.options,scaleOpts=options.scales,scales2=this.scales,updated=Object.keys(scales2).reduce((obj,id)=>(obj[id]=!1,obj),{}),items=[];scaleOpts&&(items=items.concat(Object.keys(scaleOpts).map(id=>{let scaleOptions=scaleOpts[id],axis=determineAxis(id,scaleOptions),isRadial=axis==="r",isHorizontal=axis==="x";return{options:scaleOptions,dposition:isRadial?"chartArea":isHorizontal?"bottom":"left",dtype:isRadial?"radialLinear":isHorizontal?"category":"linear"}}))),each(items,item=>{let scaleOptions=item.options,id=scaleOptions.id,axis=determineAxis(id,scaleOptions),scaleType=valueOrDefault(scaleOptions.type,item.dtype);(scaleOptions.position===void 0||positionIsHorizontal(scaleOptions.position,axis)!==positionIsHorizontal(item.dposition))&&(scaleOptions.position=item.dposition),updated[id]=!0;let scale=null;if(id in scales2&&scales2[id].type===scaleType)scale=scales2[id];else{let scaleClass=registry.getScale(scaleType);scale=new scaleClass({id,type:scaleType,ctx:this.ctx,chart:this}),scales2[scale.id]=scale}scale.init(scaleOptions,options)}),each(updated,(hasUpdated,id)=>{hasUpdated||delete scales2[id]}),each(scales2,scale=>{layouts.configure(this,scale,scale.options),layouts.addBox(this,scale)})}_updateMetasets(){let metasets=this._metasets,numData=this.data.datasets.length,numMeta=metasets.length;if(metasets.sort((a,b)=>a.index-b.index),numMeta>numData){for(let i=numData;idatasets.length&&delete this._stacks,metasets.forEach((meta,index2)=>{datasets.filter(x=>x===meta._dataset).length===0&&this._destroyDatasetMeta(index2)})}buildOrUpdateControllers(){let newControllers=[],datasets=this.data.datasets,i,ilen;for(this._removeUnreferencedMetasets(),i=0,ilen=datasets.length;i{this.getDatasetMeta(datasetIndex).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(mode){let config=this.config;config.update();let options=this._options=config.createResolver(config.chartOptionScopes(),this.getContext()),animsDisabled=this._animationsDisabled=!options.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode,cancelable:!0})===!1)return;let newControllers=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let minPadding=0;for(let i=0,ilen=this.data.datasets.length;i{controller.reset()}),this._updateDatasets(mode),this.notifyPlugins("afterUpdate",{mode}),this._layers.sort(compare2Level("z","_idx"));let{_active,_lastEvent}=this;_lastEvent?this._eventHandler(_lastEvent,!0):_active.length&&this._updateHoverStyles(_active,_active,!0),this.render()}_updateScales(){each(this.scales,scale=>{layouts.removeBox(this,scale)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let options=this.options,existingEvents=new Set(Object.keys(this._listeners)),newEvents=new Set(options.events);(!setsEqual(existingEvents,newEvents)||!!this._responsiveListeners!==options.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices}=this,changes=this._getUniformDataChanges()||[];for(let{method,start,count}of changes){let move=method==="_removeElements"?-count:count;moveNumericKeys(_hiddenIndices,start,move)}}_getUniformDataChanges(){let _dataChanges=this._dataChanges;if(!_dataChanges||!_dataChanges.length)return;this._dataChanges=[];let datasetCount=this.data.datasets.length,makeSet=idx=>new Set(_dataChanges.filter(c=>c[0]===idx).map((c,i)=>i+","+c.splice(1).join(","))),changeSet=makeSet(0);for(let i=1;ic.split(",")).map(a=>({method:a[1],start:+a[2],count:+a[3]}))}_updateLayout(minPadding){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,minPadding);let area=this.chartArea,noArea=area.width<=0||area.height<=0;this._layers=[],each(this.boxes,box=>{noArea&&box.position==="chartArea"||(box.configure&&box.configure(),this._layers.push(...box._layers()))},this),this._layers.forEach((item,index2)=>{item._idx=index2}),this.notifyPlugins("afterLayout")}_updateDatasets(mode){if(this.notifyPlugins("beforeDatasetsUpdate",{mode,cancelable:!0})!==!1){for(let i=0,ilen=this.data.datasets.length;i=0;--i)this._drawDataset(metasets[i]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(meta){let ctx=this.ctx,clip=meta._clip,useClip=!clip.disabled,area=this.chartArea,args={meta,index:meta.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",args)!==!1&&(useClip&&clipArea(ctx,{left:clip.left===!1?0:area.left-clip.left,right:clip.right===!1?this.width:area.right+clip.right,top:clip.top===!1?0:area.top-clip.top,bottom:clip.bottom===!1?this.height:area.bottom+clip.bottom}),meta.controller.draw(),useClip&&unclipArea(ctx),args.cancelable=!1,this.notifyPlugins("afterDatasetDraw",args))}isPointInArea(point){return _isPointInArea(point,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,mode,options,useFinalPosition){let method=Interaction.modes[mode];return typeof method=="function"?method(this,e,options,useFinalPosition):[]}getDatasetMeta(datasetIndex){let dataset=this.data.datasets[datasetIndex],metasets=this._metasets,meta=metasets.filter(x=>x&&x._dataset===dataset).pop();return meta||(meta={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:dataset&&dataset.order||0,index:datasetIndex,_dataset:dataset,_parsed:[],_sorted:!1},metasets.push(meta)),meta}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(datasetIndex){let dataset=this.data.datasets[datasetIndex];if(!dataset)return!1;let meta=this.getDatasetMeta(datasetIndex);return typeof meta.hidden=="boolean"?!meta.hidden:!dataset.hidden}setDatasetVisibility(datasetIndex,visible){let meta=this.getDatasetMeta(datasetIndex);meta.hidden=!visible}toggleDataVisibility(index2){this._hiddenIndices[index2]=!this._hiddenIndices[index2]}getDataVisibility(index2){return!this._hiddenIndices[index2]}_updateVisibility(datasetIndex,dataIndex,visible){let mode=visible?"show":"hide",meta=this.getDatasetMeta(datasetIndex),anims=meta.controller._resolveAnimations(void 0,mode);defined(dataIndex)?(meta.data[dataIndex].hidden=!visible,this.update()):(this.setDatasetVisibility(datasetIndex,visible),anims.update(meta,{visible}),this.update(ctx=>ctx.datasetIndex===datasetIndex?mode:void 0))}hide(datasetIndex,dataIndex){this._updateVisibility(datasetIndex,dataIndex,!1)}show(datasetIndex,dataIndex){this._updateVisibility(datasetIndex,dataIndex,!0)}_destroyDatasetMeta(datasetIndex){let meta=this._metasets[datasetIndex];meta&&meta.controller&&meta.controller._destroy(),delete this._metasets[datasetIndex]}_stop(){let i,ilen;for(this.stop(),animator.remove(this),i=0,ilen=this.data.datasets.length;i{platform.addEventListener(this,type,listener2),listeners[type]=listener2},listener=(e,x,y)=>{e.offsetX=x,e.offsetY=y,this._eventHandler(e)};each(this.options.events,type=>_add(type,listener))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let listeners=this._responsiveListeners,platform=this.platform,_add=(type,listener2)=>{platform.addEventListener(this,type,listener2),listeners[type]=listener2},_remove=(type,listener2)=>{listeners[type]&&(platform.removeEventListener(this,type,listener2),delete listeners[type])},listener=(width,height)=>{this.canvas&&this.resize(width,height)},detached,attached=()=>{_remove("attach",attached),this.attached=!0,this.resize(),_add("resize",listener),_add("detach",detached)};detached=()=>{this.attached=!1,_remove("resize",listener),this._stop(),this._resize(0,0),_add("attach",attached)},platform.isAttached(this.canvas)?attached():detached()}unbindEvents(){each(this._listeners,(listener,type)=>{this.platform.removeEventListener(this,type,listener)}),this._listeners={},each(this._responsiveListeners,(listener,type)=>{this.platform.removeEventListener(this,type,listener)}),this._responsiveListeners=void 0}updateHoverStyle(items,mode,enabled){let prefix=enabled?"set":"remove",meta,item,i,ilen;for(mode==="dataset"&&(meta=this.getDatasetMeta(items[0].datasetIndex),meta.controller["_"+prefix+"DatasetHoverStyle"]()),i=0,ilen=items.length;i{let meta=this.getDatasetMeta(datasetIndex);if(!meta)throw new Error("No dataset found at index "+datasetIndex);return{datasetIndex,element:meta.data[index2],index:index2}});!_elementsEqual(active,lastActive)&&(this._active=active,this._lastEvent=null,this._updateHoverStyles(active,lastActive))}notifyPlugins(hook,args,filter){return this._plugins.notify(this,hook,args,filter)}_updateHoverStyles(active,lastActive,replay){let hoverOptions=this.options.hover,diff=(a,b)=>a.filter(x=>!b.some(y=>x.datasetIndex===y.datasetIndex&&x.index===y.index)),deactivated=diff(lastActive,active),activated=replay?active:diff(active,lastActive);deactivated.length&&this.updateHoverStyle(deactivated,hoverOptions.mode,!1),activated.length&&hoverOptions.mode&&this.updateHoverStyle(activated,hoverOptions.mode,!0)}_eventHandler(e,replay){let args={event:e,replay,cancelable:!0,inChartArea:this.isPointInArea(e)},eventFilter=plugin=>(plugin.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins("beforeEvent",args,eventFilter)===!1)return;let changed=this._handleEvent(e,replay,args.inChartArea);return args.cancelable=!1,this.notifyPlugins("afterEvent",args,eventFilter),(changed||args.changed)&&this.render(),this}_handleEvent(e,replay,inChartArea){let{_active:lastActive=[],options}=this,useFinalPosition=replay,active=this._getActiveElements(e,lastActive,inChartArea,useFinalPosition),isClick=_isClickEvent(e),lastEvent=determineLastEvent(e,this._lastEvent,inChartArea,isClick);inChartArea&&(this._lastEvent=null,callback(options.onHover,[e,active,this],this),isClick&&callback(options.onClick,[e,active,this],this));let changed=!_elementsEqual(active,lastActive);return(changed||replay)&&(this._active=active,this._updateHoverStyles(active,lastActive,replay)),this._lastEvent=lastEvent,changed}_getActiveElements(e,lastActive,inChartArea,useFinalPosition){if(e.type==="mouseout")return[];if(!inChartArea)return lastActive;let hoverOptions=this.options.hover;return this.getElementsAtEventForMode(e,hoverOptions.mode,hoverOptions,useFinalPosition)}},invalidatePlugins=()=>each(Chart.instances,chart=>chart._plugins.invalidate()),enumerable=!0;Object.defineProperties(Chart,{defaults:{enumerable,value:defaults},instances:{enumerable,value:instances},overrides:{enumerable,value:overrides},registry:{enumerable,value:registry},version:{enumerable,value:version},getChart:{enumerable,value:getChart},register:{enumerable,value:(...items)=>{registry.add(...items),invalidatePlugins()}},unregister:{enumerable,value:(...items)=>{registry.remove(...items),invalidatePlugins()}}});function clipArc(ctx,element,endAngle){let{startAngle,pixelMargin,x,y,outerRadius,innerRadius}=element,angleMargin=pixelMargin/outerRadius;ctx.beginPath(),ctx.arc(x,y,outerRadius,startAngle-angleMargin,endAngle+angleMargin),innerRadius>pixelMargin?(angleMargin=pixelMargin/innerRadius,ctx.arc(x,y,innerRadius,endAngle+angleMargin,startAngle-angleMargin,!0)):ctx.arc(x,y,pixelMargin,endAngle+HALF_PI,startAngle-HALF_PI),ctx.closePath(),ctx.clip()}function toRadiusCorners(value){return _readValueToProps(value,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(arc,innerRadius,outerRadius,angleDelta){let o=toRadiusCorners(arc.options.borderRadius),halfThickness=(outerRadius-innerRadius)/2,innerLimit=Math.min(halfThickness,angleDelta*innerRadius/2),computeOuterLimit=val=>{let outerArcLimit=(outerRadius-Math.min(halfThickness,val))*angleDelta/2;return _limitValue(val,0,Math.min(halfThickness,outerArcLimit))};return{outerStart:computeOuterLimit(o.outerStart),outerEnd:computeOuterLimit(o.outerEnd),innerStart:_limitValue(o.innerStart,0,innerLimit),innerEnd:_limitValue(o.innerEnd,0,innerLimit)}}function rThetaToXY(r,theta,x,y){return{x:x+r*Math.cos(theta),y:y+r*Math.sin(theta)}}function pathArc(ctx,element,offset,spacing,end,circular){let{x,y,startAngle:start,pixelMargin,innerRadius:innerR}=element,outerRadius=Math.max(element.outerRadius+spacing+offset-pixelMargin,0),innerRadius=innerR>0?innerR+spacing+offset+pixelMargin:0,spacingOffset=0,alpha2=end-start;if(spacing){let noSpacingInnerRadius=innerR>0?innerR-spacing:0,noSpacingOuterRadius=outerRadius>0?outerRadius-spacing:0,avNogSpacingRadius=(noSpacingInnerRadius+noSpacingOuterRadius)/2,adjustedAngle=avNogSpacingRadius!==0?alpha2*avNogSpacingRadius/(avNogSpacingRadius+spacing):alpha2;spacingOffset=(alpha2-adjustedAngle)/2}let beta=Math.max(.001,alpha2*outerRadius-offset/PI)/outerRadius,angleOffset=(alpha2-beta)/2,startAngle=start+angleOffset+spacingOffset,endAngle=end-angleOffset-spacingOffset,{outerStart,outerEnd,innerStart,innerEnd}=parseBorderRadius$1(element,innerRadius,outerRadius,endAngle-startAngle),outerStartAdjustedRadius=outerRadius-outerStart,outerEndAdjustedRadius=outerRadius-outerEnd,outerStartAdjustedAngle=startAngle+outerStart/outerStartAdjustedRadius,outerEndAdjustedAngle=endAngle-outerEnd/outerEndAdjustedRadius,innerStartAdjustedRadius=innerRadius+innerStart,innerEndAdjustedRadius=innerRadius+innerEnd,innerStartAdjustedAngle=startAngle+innerStart/innerStartAdjustedRadius,innerEndAdjustedAngle=endAngle-innerEnd/innerEndAdjustedRadius;if(ctx.beginPath(),circular){if(ctx.arc(x,y,outerRadius,outerStartAdjustedAngle,outerEndAdjustedAngle),outerEnd>0){let pCenter=rThetaToXY(outerEndAdjustedRadius,outerEndAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,outerEnd,outerEndAdjustedAngle,endAngle+HALF_PI)}let p4=rThetaToXY(innerEndAdjustedRadius,endAngle,x,y);if(ctx.lineTo(p4.x,p4.y),innerEnd>0){let pCenter=rThetaToXY(innerEndAdjustedRadius,innerEndAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,innerEnd,endAngle+HALF_PI,innerEndAdjustedAngle+Math.PI)}if(ctx.arc(x,y,innerRadius,endAngle-innerEnd/innerRadius,startAngle+innerStart/innerRadius,!0),innerStart>0){let pCenter=rThetaToXY(innerStartAdjustedRadius,innerStartAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,innerStart,innerStartAdjustedAngle+Math.PI,startAngle-HALF_PI)}let p8=rThetaToXY(outerStartAdjustedRadius,startAngle,x,y);if(ctx.lineTo(p8.x,p8.y),outerStart>0){let pCenter=rThetaToXY(outerStartAdjustedRadius,outerStartAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,outerStart,startAngle-HALF_PI,outerStartAdjustedAngle)}}else{ctx.moveTo(x,y);let outerStartX=Math.cos(outerStartAdjustedAngle)*outerRadius+x,outerStartY=Math.sin(outerStartAdjustedAngle)*outerRadius+y;ctx.lineTo(outerStartX,outerStartY);let outerEndX=Math.cos(outerEndAdjustedAngle)*outerRadius+x,outerEndY=Math.sin(outerEndAdjustedAngle)*outerRadius+y;ctx.lineTo(outerEndX,outerEndY)}ctx.closePath()}function drawArc(ctx,element,offset,spacing,circular){let{fullCircles,startAngle,circumference}=element,endAngle=element.endAngle;if(fullCircles){pathArc(ctx,element,offset,spacing,startAngle+TAU,circular);for(let i=0;i=TAU||_angleBetween(angle,startAngle,endAngle),withinRadius=_isBetween(distance,innerRadius+rAdjust,outerRadius+rAdjust);return betweenAngles&&withinRadius}getCenterPoint(useFinalPosition){let{x,y,startAngle,endAngle,innerRadius,outerRadius}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],useFinalPosition),{offset,spacing}=this.options,halfAngle=(startAngle+endAngle)/2,halfRadius=(innerRadius+outerRadius+spacing+offset)/2;return{x:x+Math.cos(halfAngle)*halfRadius,y:y+Math.sin(halfAngle)*halfRadius}}tooltipPosition(useFinalPosition){return this.getCenterPoint(useFinalPosition)}draw(ctx){let{options,circumference}=this,offset=(options.offset||0)/2,spacing=(options.spacing||0)/2,circular=options.circular;if(this.pixelMargin=options.borderAlign==="inner"?.33:0,this.fullCircles=circumference>TAU?Math.floor(circumference/TAU):0,circumference===0||this.innerRadius<0||this.outerRadius<0)return;ctx.save();let radiusOffset=0;if(offset){radiusOffset=offset/2;let halfAngle=(this.startAngle+this.endAngle)/2;ctx.translate(Math.cos(halfAngle)*radiusOffset,Math.sin(halfAngle)*radiusOffset),this.circumference>=PI&&(radiusOffset=offset)}ctx.fillStyle=options.backgroundColor,ctx.strokeStyle=options.borderColor;let endAngle=drawArc(ctx,this,radiusOffset,spacing,circular);drawBorder(ctx,this,radiusOffset,spacing,endAngle,circular),ctx.restore()}};ArcElement.id="arc";ArcElement.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};ArcElement.defaultRoutes={backgroundColor:"backgroundColor"};function setStyle(ctx,options,style=options){ctx.lineCap=valueOrDefault(style.borderCapStyle,options.borderCapStyle),ctx.setLineDash(valueOrDefault(style.borderDash,options.borderDash)),ctx.lineDashOffset=valueOrDefault(style.borderDashOffset,options.borderDashOffset),ctx.lineJoin=valueOrDefault(style.borderJoinStyle,options.borderJoinStyle),ctx.lineWidth=valueOrDefault(style.borderWidth,options.borderWidth),ctx.strokeStyle=valueOrDefault(style.borderColor,options.borderColor)}function lineTo(ctx,previous,target){ctx.lineTo(target.x,target.y)}function getLineMethod(options){return options.stepped?_steppedLineTo:options.tension||options.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(points,segment,params={}){let count=points.length,{start:paramsStart=0,end:paramsEnd=count-1}=params,{start:segmentStart,end:segmentEnd}=segment,start=Math.max(paramsStart,segmentStart),end=Math.min(paramsEnd,segmentEnd),outside=paramsStartsegmentEnd&¶msEnd>segmentEnd;return{count,start,loop:segment.loop,ilen:end(start+(reverse?ilen-index2:index2))%count,drawX=()=>{minY!==maxY&&(ctx.lineTo(avgX,maxY),ctx.lineTo(avgX,minY),ctx.lineTo(avgX,lastY))};for(move&&(point=points[pointIndex(0)],ctx.moveTo(point.x,point.y)),i=0;i<=ilen;++i){if(point=points[pointIndex(i)],point.skip)continue;let x=point.x,y=point.y,truncX=x|0;truncX===prevX?(ymaxY&&(maxY=y),avgX=(countX*avgX+x)/++countX):(drawX(),ctx.lineTo(x,y),prevX=truncX,countX=0,minY=maxY=y),lastY=y}drawX()}function _getSegmentMethod(line){let opts=line.options,borderDash=opts.borderDash&&opts.borderDash.length;return!line._decimated&&!line._loop&&!opts.tension&&opts.cubicInterpolationMode!=="monotone"&&!opts.stepped&&!borderDash?fastPathSegment:pathSegment}function _getInterpolationMethod(options){return options.stepped?_steppedInterpolation:options.tension||options.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(ctx,line,start,count){let path=line._path;path||(path=line._path=new Path2D,line.path(path,start,count)&&path.closePath()),setStyle(ctx,line.options),ctx.stroke(path)}function strokePathDirect(ctx,line,start,count){let{segments,options}=line,segmentMethod=_getSegmentMethod(line);for(let segment of segments)setStyle(ctx,options,segment.style),ctx.beginPath(),segmentMethod(ctx,line,segment,{start,end:start+count-1})&&ctx.closePath(),ctx.stroke()}var usePath2D=typeof Path2D=="function";function draw(ctx,line,start,count){usePath2D&&!line.options.segment?strokePathWithCache(ctx,line,start,count):strokePathDirect(ctx,line,start,count)}var LineElement=class extends Element2{constructor(cfg){super();this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,cfg&&Object.assign(this,cfg)}updateControlPoints(chartArea,indexAxis){let options=this.options;if((options.tension||options.cubicInterpolationMode==="monotone")&&!options.stepped&&!this._pointsUpdated){let loop=options.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,options,chartArea,loop,indexAxis),this._pointsUpdated=!0}}set points(points){this._points=points,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){let segments=this.segments,points=this.points;return segments.length&&points[segments[0].start]}last(){let segments=this.segments,points=this.points,count=segments.length;return count&&points[segments[count-1].end]}interpolate(point,property){let options=this.options,value=point[property],points=this.points,segments=_boundSegments(this,{property,start:value,end:value});if(!segments.length)return;let result=[],_interpolate=_getInterpolationMethod(options),i,ilen;for(i=0,ilen=segments.length;iname!=="borderDash"&&name!=="fill"};function inRange$1(el,pos,axis,useFinalPosition){let options=el.options,{[axis]:value}=el.getProps([axis],useFinalPosition);return Math.abs(pos-value)=count)return data.slice(start,start+count);let decimated=[],bucketWidth=(count-2)/(samples-2),sampledIndex=0,endIndex=start+count-1,a=start,i,maxAreaPoint,maxArea,area,nextA;for(decimated[sampledIndex++]=data[a],i=0;imaxArea&&(maxArea=area,maxAreaPoint=data[j],nextA=j);decimated[sampledIndex++]=maxAreaPoint,a=nextA}return decimated[sampledIndex++]=data[endIndex],decimated}function minMaxDecimation(data,start,count,availableWidth){let avgX=0,countX=0,i,point,x,y,prevX,minIndex,maxIndex,startIndex,minY,maxY,decimated=[],endIndex=start+count-1,xMin=data[start].x,dx=data[endIndex].x-xMin;for(i=start;imaxY&&(maxY=y,maxIndex=i),avgX=(countX*avgX+point.x)/++countX;else{let lastIndex=i-1;if(!isNullOrUndef(minIndex)&&!isNullOrUndef(maxIndex)){let intermediateIndex1=Math.min(minIndex,maxIndex),intermediateIndex2=Math.max(minIndex,maxIndex);intermediateIndex1!==startIndex&&intermediateIndex1!==lastIndex&&decimated.push({...data[intermediateIndex1],x:avgX}),intermediateIndex2!==startIndex&&intermediateIndex2!==lastIndex&&decimated.push({...data[intermediateIndex2],x:avgX})}i>0&&lastIndex!==startIndex&&decimated.push(data[lastIndex]),decimated.push(point),prevX=truncX,countX=0,minY=maxY=y,minIndex=maxIndex=startIndex=i}}return decimated}function cleanDecimatedDataset(dataset){if(dataset._decimated){let data=dataset._data;delete dataset._decimated,delete dataset._data,Object.defineProperty(dataset,"data",{value:data})}}function cleanDecimatedData(chart){chart.data.datasets.forEach(dataset=>{cleanDecimatedDataset(dataset)})}function getStartAndCountOfVisiblePointsSimplified(meta,points){let pointCount=points.length,start=0,count,{iScale}=meta,{min,max,minDefined,maxDefined}=iScale.getUserBounds();return minDefined&&(start=_limitValue(_lookupByKey(points,iScale.axis,min).lo,0,pointCount-1)),maxDefined?count=_limitValue(_lookupByKey(points,iScale.axis,max).hi+1,start,pointCount)-start:count=pointCount-start,{start,count}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(chart,args,options)=>{if(!options.enabled){cleanDecimatedData(chart);return}let availableWidth=chart.width;chart.data.datasets.forEach((dataset,datasetIndex)=>{let{_data,indexAxis}=dataset,meta=chart.getDatasetMeta(datasetIndex),data=_data||dataset.data;if(resolve([indexAxis,chart.options.indexAxis])==="y"||!meta.controller.supportsDecimation)return;let xAxis=chart.scales[meta.xAxisID];if(xAxis.type!=="linear"&&xAxis.type!=="time"||chart.options.parsing)return;let{start,count}=getStartAndCountOfVisiblePointsSimplified(meta,data),threshold=options.threshold||4*availableWidth;if(count<=threshold){cleanDecimatedDataset(dataset);return}isNullOrUndef(_data)&&(dataset._data=data,delete dataset.data,Object.defineProperty(dataset,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(d){this._data=d}}));let decimated;switch(options.algorithm){case"lttb":decimated=lttbDecimation(data,start,count,availableWidth,options);break;case"min-max":decimated=minMaxDecimation(data,start,count,availableWidth);break;default:throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`)}dataset._decimated=decimated})},destroy(chart){cleanDecimatedData(chart)}};function _segments(line,target,property){let segments=line.segments,points=line.points,tpoints=target.points,parts=[];for(let segment of segments){let{start,end}=segment;end=_findSegmentEnd(start,end,points);let bounds=_getBounds(property,points[start],points[end],segment.loop);if(!target.segments){parts.push({source:segment,target:bounds,start:points[start],end:points[end]});continue}let targetSegments=_boundSegments(target,bounds);for(let tgt of targetSegments){let subBounds=_getBounds(property,tpoints[tgt.start],tpoints[tgt.end],tgt.loop),fillSources=_boundSegment(segment,points,subBounds);for(let fillSource of fillSources)parts.push({source:fillSource,target:tgt,start:{[property]:_getEdge(bounds,subBounds,"start",Math.max)},end:{[property]:_getEdge(bounds,subBounds,"end",Math.min)}})}}return parts}function _getBounds(property,first,last,loop){if(loop)return;let start=first[property],end=last[property];return property==="angle"&&(start=_normalizeAngle(start),end=_normalizeAngle(end)),{property,start,end}}function _pointsFromSegments(boundary,line){let{x=null,y=null}=boundary||{},linePoints=line.points,points=[];return line.segments.forEach(({start,end})=>{end=_findSegmentEnd(start,end,linePoints);let first=linePoints[start],last=linePoints[end];y!==null?(points.push({x:first.x,y}),points.push({x:last.x,y})):x!==null&&(points.push({x,y:first.y}),points.push({x,y:last.y}))}),points}function _findSegmentEnd(start,end,points){for(;end>start;end--){let point=points[end];if(!isNaN(point.x)&&!isNaN(point.y))break}return end}function _getEdge(a,b,prop,fn){return a&&b?fn(a[prop],b[prop]):a?a[prop]:b?b[prop]:0}function _createBoundaryLine(boundary,line){let points=[],_loop=!1;return isArray(boundary)?(_loop=!0,points=boundary):points=_pointsFromSegments(boundary,line),points.length?new LineElement({points,options:{tension:0},_loop,_fullLoop:_loop}):null}function _shouldApplyFill(source){return source&&source.fill!==!1}function _resolveTarget(sources,index2,propagate){let fill2=sources[index2].fill,visited=[index2],target;if(!propagate)return fill2;for(;fill2!==!1&&visited.indexOf(fill2)===-1;){if(!isNumberFinite(fill2))return fill2;if(target=sources[fill2],!target)return!1;if(target.visible)return fill2;visited.push(fill2),fill2=target.fill}return!1}function _decodeFill(line,index2,count){let fill2=parseFillOption(line);if(isObject(fill2))return isNaN(fill2.value)?!1:fill2;let target=parseFloat(fill2);return isNumberFinite(target)&&Math.floor(target)===target?decodeTargetIndex(fill2[0],index2,target,count):["origin","start","end","stack","shape"].indexOf(fill2)>=0&&fill2}function decodeTargetIndex(firstCh,index2,target,count){return(firstCh==="-"||firstCh==="+")&&(target=index2+target),target===index2||target<0||target>=count?!1:target}function _getTargetPixel(fill2,scale){let pixel=null;return fill2==="start"?pixel=scale.bottom:fill2==="end"?pixel=scale.top:isObject(fill2)?pixel=scale.getPixelForValue(fill2.value):scale.getBasePixel&&(pixel=scale.getBasePixel()),pixel}function _getTargetValue(fill2,scale,startValue){let value;return fill2==="start"?value=startValue:fill2==="end"?value=scale.options.reverse?scale.min:scale.max:isObject(fill2)?value=fill2.value:value=scale.getBaseValue(),value}function parseFillOption(line){let options=line.options,fillOption=options.fill,fill2=valueOrDefault(fillOption&&fillOption.target,fillOption);return fill2===void 0&&(fill2=!!options.backgroundColor),fill2===!1||fill2===null?!1:fill2===!0?"origin":fill2}function _buildStackLine(source){let{scale,index:index2,line}=source,points=[],segments=line.segments,sourcePoints=line.points,linesBelow=getLinesBelow(scale,index2);linesBelow.push(_createBoundaryLine({x:null,y:scale.bottom},line));for(let i=0;i=0;--i){let source=metasets[i].$filler;!source||(source.line.updateControlPoints(area,source.axis),draw2&&source.fill&&_drawfill(chart.ctx,source,area))}},beforeDatasetsDraw(chart,_args,options){if(options.drawTime!=="beforeDatasetsDraw")return;let metasets=chart.getSortedVisibleDatasetMetas();for(let i=metasets.length-1;i>=0;--i){let source=metasets[i].$filler;_shouldApplyFill(source)&&_drawfill(chart.ctx,source,chart.chartArea)}},beforeDatasetDraw(chart,args,options){let source=args.meta.$filler;!_shouldApplyFill(source)||options.drawTime!=="beforeDatasetDraw"||_drawfill(chart.ctx,source,chart.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},getBoxSize=(labelOpts,fontSize)=>{let{boxHeight=fontSize,boxWidth=fontSize}=labelOpts;return labelOpts.usePointStyle&&(boxHeight=Math.min(boxHeight,fontSize),boxWidth=labelOpts.pointStyleWidth||Math.min(boxWidth,fontSize)),{boxWidth,boxHeight,itemHeight:Math.max(fontSize,boxHeight)}},itemsEqual=(a,b)=>a!==null&&b!==null&&a.datasetIndex===b.datasetIndex&&a.index===b.index,Legend=class extends Element2{constructor(config){super();this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=config.chart,this.options=config.options,this.ctx=config.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(maxWidth,maxHeight,margins){this.maxWidth=maxWidth,this.maxHeight=maxHeight,this._margins=margins,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let labelOpts=this.options.labels||{},legendItems=callback(labelOpts.generateLabels,[this.chart],this)||[];labelOpts.filter&&(legendItems=legendItems.filter(item=>labelOpts.filter(item,this.chart.data))),labelOpts.sort&&(legendItems=legendItems.sort((a,b)=>labelOpts.sort(a,b,this.chart.data))),this.options.reverse&&legendItems.reverse(),this.legendItems=legendItems}fit(){let{options,ctx}=this;if(!options.display){this.width=this.height=0;return}let labelOpts=options.labels,labelFont=toFont(labelOpts.font),fontSize=labelFont.size,titleHeight=this._computeTitleHeight(),{boxWidth,itemHeight}=getBoxSize(labelOpts,fontSize),width,height;ctx.font=labelFont.string,this.isHorizontal()?(width=this.maxWidth,height=this._fitRows(titleHeight,fontSize,boxWidth,itemHeight)+10):(height=this.maxHeight,width=this._fitCols(titleHeight,fontSize,boxWidth,itemHeight)+10),this.width=Math.min(width,options.maxWidth||this.maxWidth),this.height=Math.min(height,options.maxHeight||this.maxHeight)}_fitRows(titleHeight,fontSize,boxWidth,itemHeight){let{ctx,maxWidth,options:{labels:{padding}}}=this,hitboxes=this.legendHitBoxes=[],lineWidths=this.lineWidths=[0],lineHeight=itemHeight+padding,totalHeight=titleHeight;ctx.textAlign="left",ctx.textBaseline="middle";let row=-1,top=-lineHeight;return this.legendItems.forEach((legendItem,i)=>{let itemWidth=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;(i===0||lineWidths[lineWidths.length-1]+itemWidth+2*padding>maxWidth)&&(totalHeight+=lineHeight,lineWidths[lineWidths.length-(i>0?0:1)]=0,top+=lineHeight,row++),hitboxes[i]={left:0,top,row,width:itemWidth,height:itemHeight},lineWidths[lineWidths.length-1]+=itemWidth+padding}),totalHeight}_fitCols(titleHeight,fontSize,boxWidth,itemHeight){let{ctx,maxHeight,options:{labels:{padding}}}=this,hitboxes=this.legendHitBoxes=[],columnSizes=this.columnSizes=[],heightLimit=maxHeight-titleHeight,totalWidth=padding,currentColWidth=0,currentColHeight=0,left=0,col=0;return this.legendItems.forEach((legendItem,i)=>{let itemWidth=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;i>0&¤tColHeight+itemHeight+2*padding>heightLimit&&(totalWidth+=currentColWidth+padding,columnSizes.push({width:currentColWidth,height:currentColHeight}),left+=currentColWidth+padding,col++,currentColWidth=currentColHeight=0),hitboxes[i]={left,top:currentColHeight,col,width:itemWidth,height:itemHeight},currentColWidth=Math.max(currentColWidth,itemWidth),currentColHeight+=itemHeight+padding}),totalWidth+=currentColWidth,columnSizes.push({width:currentColWidth,height:currentColHeight}),totalWidth}adjustHitBoxes(){if(!this.options.display)return;let titleHeight=this._computeTitleHeight(),{legendHitBoxes:hitboxes,options:{align,labels:{padding},rtl}}=this,rtlHelper=getRtlAdapter(rtl,this.left,this.width);if(this.isHorizontal()){let row=0,left=_alignStartEnd(align,this.left+padding,this.right-this.lineWidths[row]);for(let hitbox of hitboxes)row!==hitbox.row&&(row=hitbox.row,left=_alignStartEnd(align,this.left+padding,this.right-this.lineWidths[row])),hitbox.top+=this.top+titleHeight+padding,hitbox.left=rtlHelper.leftForLtr(rtlHelper.x(left),hitbox.width),left+=hitbox.width+padding}else{let col=0,top=_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-this.columnSizes[col].height);for(let hitbox of hitboxes)hitbox.col!==col&&(col=hitbox.col,top=_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-this.columnSizes[col].height)),hitbox.top=top,hitbox.left+=this.left+padding,hitbox.left=rtlHelper.leftForLtr(rtlHelper.x(hitbox.left),hitbox.width),top+=hitbox.height+padding}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let ctx=this.ctx;clipArea(ctx,this),this._draw(),unclipArea(ctx)}}_draw(){let{options:opts,columnSizes,lineWidths,ctx}=this,{align,labels:labelOpts}=opts,defaultColor=defaults.color,rtlHelper=getRtlAdapter(opts.rtl,this.left,this.width),labelFont=toFont(labelOpts.font),{color:fontColor,padding}=labelOpts,fontSize=labelFont.size,halfFontSize=fontSize/2,cursor;this.drawTitle(),ctx.textAlign=rtlHelper.textAlign("left"),ctx.textBaseline="middle",ctx.lineWidth=.5,ctx.font=labelFont.string;let{boxWidth,boxHeight,itemHeight}=getBoxSize(labelOpts,fontSize),drawLegendBox=function(x,y,legendItem){if(isNaN(boxWidth)||boxWidth<=0||isNaN(boxHeight)||boxHeight<0)return;ctx.save();let lineWidth=valueOrDefault(legendItem.lineWidth,1);if(ctx.fillStyle=valueOrDefault(legendItem.fillStyle,defaultColor),ctx.lineCap=valueOrDefault(legendItem.lineCap,"butt"),ctx.lineDashOffset=valueOrDefault(legendItem.lineDashOffset,0),ctx.lineJoin=valueOrDefault(legendItem.lineJoin,"miter"),ctx.lineWidth=lineWidth,ctx.strokeStyle=valueOrDefault(legendItem.strokeStyle,defaultColor),ctx.setLineDash(valueOrDefault(legendItem.lineDash,[])),labelOpts.usePointStyle){let drawOptions={radius:boxHeight*Math.SQRT2/2,pointStyle:legendItem.pointStyle,rotation:legendItem.rotation,borderWidth:lineWidth},centerX=rtlHelper.xPlus(x,boxWidth/2),centerY=y+halfFontSize;drawPointLegend(ctx,drawOptions,centerX,centerY,labelOpts.pointStyleWidth&&boxWidth)}else{let yBoxTop=y+Math.max((fontSize-boxHeight)/2,0),xBoxLeft=rtlHelper.leftForLtr(x,boxWidth),borderRadius=toTRBLCorners(legendItem.borderRadius);ctx.beginPath(),Object.values(borderRadius).some(v=>v!==0)?addRoundedRectPath(ctx,{x:xBoxLeft,y:yBoxTop,w:boxWidth,h:boxHeight,radius:borderRadius}):ctx.rect(xBoxLeft,yBoxTop,boxWidth,boxHeight),ctx.fill(),lineWidth!==0&&ctx.stroke()}ctx.restore()},fillText=function(x,y,legendItem){renderText(ctx,legendItem.text,x,y+itemHeight/2,labelFont,{strikethrough:legendItem.hidden,textAlign:rtlHelper.textAlign(legendItem.textAlign)})},isHorizontal=this.isHorizontal(),titleHeight=this._computeTitleHeight();isHorizontal?cursor={x:_alignStartEnd(align,this.left+padding,this.right-lineWidths[0]),y:this.top+padding+titleHeight,line:0}:cursor={x:this.left+padding,y:_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-columnSizes[0].height),line:0},overrideTextDirection(this.ctx,opts.textDirection);let lineHeight=itemHeight+padding;this.legendItems.forEach((legendItem,i)=>{ctx.strokeStyle=legendItem.fontColor||fontColor,ctx.fillStyle=legendItem.fontColor||fontColor;let textWidth=ctx.measureText(legendItem.text).width,textAlign=rtlHelper.textAlign(legendItem.textAlign||(legendItem.textAlign=labelOpts.textAlign)),width=boxWidth+halfFontSize+textWidth,x=cursor.x,y=cursor.y;rtlHelper.setWidth(this.width),isHorizontal?i>0&&x+width+padding>this.right&&(y=cursor.y+=lineHeight,cursor.line++,x=cursor.x=_alignStartEnd(align,this.left+padding,this.right-lineWidths[cursor.line])):i>0&&y+lineHeight>this.bottom&&(x=cursor.x=x+columnSizes[cursor.line].width+padding,cursor.line++,y=cursor.y=_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-columnSizes[cursor.line].height));let realX=rtlHelper.x(x);drawLegendBox(realX,y,legendItem),x=_textX(textAlign,x+boxWidth+halfFontSize,isHorizontal?x+width:this.right,opts.rtl),fillText(rtlHelper.x(x),y,legendItem),isHorizontal?cursor.x+=width+padding:cursor.y+=lineHeight}),restoreTextDirection(this.ctx,opts.textDirection)}drawTitle(){let opts=this.options,titleOpts=opts.title,titleFont=toFont(titleOpts.font),titlePadding=toPadding(titleOpts.padding);if(!titleOpts.display)return;let rtlHelper=getRtlAdapter(opts.rtl,this.left,this.width),ctx=this.ctx,position=titleOpts.position,halfFontSize=titleFont.size/2,topPaddingPlusHalfFontSize=titlePadding.top+halfFontSize,y,left=this.left,maxWidth=this.width;if(this.isHorizontal())maxWidth=Math.max(...this.lineWidths),y=this.top+topPaddingPlusHalfFontSize,left=_alignStartEnd(opts.align,left,this.right-maxWidth);else{let maxHeight=this.columnSizes.reduce((acc,size)=>Math.max(acc,size.height),0);y=topPaddingPlusHalfFontSize+_alignStartEnd(opts.align,this.top,this.bottom-maxHeight-opts.labels.padding-this._computeTitleHeight())}let x=_alignStartEnd(position,left,left+maxWidth);ctx.textAlign=rtlHelper.textAlign(_toLeftRightCenter(position)),ctx.textBaseline="middle",ctx.strokeStyle=titleOpts.color,ctx.fillStyle=titleOpts.color,ctx.font=titleFont.string,renderText(ctx,titleOpts.text,x,y,titleFont)}_computeTitleHeight(){let titleOpts=this.options.title,titleFont=toFont(titleOpts.font),titlePadding=toPadding(titleOpts.padding);return titleOpts.display?titleFont.lineHeight+titlePadding.height:0}_getLegendItemAt(x,y){let i,hitBox,lh;if(_isBetween(x,this.left,this.right)&&_isBetween(y,this.top,this.bottom)){for(lh=this.legendHitBoxes,i=0;ictx.chart.options.color,boxWidth:40,padding:10,generateLabels(chart){let datasets=chart.data.datasets,{labels:{usePointStyle,pointStyle,textAlign,color:color2}}=chart.legend.options;return chart._getSortedDatasetMetas().map(meta=>{let style=meta.controller.getStyle(usePointStyle?0:void 0),borderWidth=toPadding(style.borderWidth);return{text:datasets[meta.index].label,fillStyle:style.backgroundColor,fontColor:color2,hidden:!meta.visible,lineCap:style.borderCapStyle,lineDash:style.borderDash,lineDashOffset:style.borderDashOffset,lineJoin:style.borderJoinStyle,lineWidth:(borderWidth.width+borderWidth.height)/4,strokeStyle:style.borderColor,pointStyle:pointStyle||style.pointStyle,rotation:style.rotation,textAlign:textAlign||style.textAlign,borderRadius:0,datasetIndex:meta.index}},this)}},title:{color:ctx=>ctx.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:name=>!name.startsWith("on"),labels:{_scriptable:name=>!["generateLabels","filter","sort"].includes(name)}}},Title=class extends Element2{constructor(config){super();this.chart=config.chart,this.options=config.options,this.ctx=config.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(maxWidth,maxHeight){let opts=this.options;if(this.left=0,this.top=0,!opts.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=maxWidth,this.height=this.bottom=maxHeight;let lineCount=isArray(opts.text)?opts.text.length:1;this._padding=toPadding(opts.padding);let textSize=lineCount*toFont(opts.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=textSize:this.width=textSize}isHorizontal(){let pos=this.options.position;return pos==="top"||pos==="bottom"}_drawArgs(offset){let{top,left,bottom,right,options}=this,align=options.align,rotation=0,maxWidth,titleX,titleY;return this.isHorizontal()?(titleX=_alignStartEnd(align,left,right),titleY=top+offset,maxWidth=right-left):(options.position==="left"?(titleX=left+offset,titleY=_alignStartEnd(align,bottom,top),rotation=PI*-.5):(titleX=right-offset,titleY=_alignStartEnd(align,top,bottom),rotation=PI*.5),maxWidth=bottom-top),{titleX,titleY,maxWidth,rotation}}draw(){let ctx=this.ctx,opts=this.options;if(!opts.display)return;let fontOpts=toFont(opts.font),offset=fontOpts.lineHeight/2+this._padding.top,{titleX,titleY,maxWidth,rotation}=this._drawArgs(offset);renderText(ctx,opts.text,0,0,fontOpts,{color:opts.color,maxWidth,rotation,textAlign:_toLeftRightCenter(opts.align),textBaseline:"middle",translation:[titleX,titleY]})}};function createTitle(chart,titleOpts){let title=new Title({ctx:chart.ctx,options:titleOpts,chart});layouts.configure(chart,title,titleOpts),layouts.addBox(chart,title),chart.titleBlock=title}var plugin_title={id:"title",_element:Title,start(chart,_args,options){createTitle(chart,options)},stop(chart){let titleBlock=chart.titleBlock;layouts.removeBox(chart,titleBlock),delete chart.titleBlock},beforeUpdate(chart,_args,options){let title=chart.titleBlock;layouts.configure(chart,title,options),title.options=options},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},map2=new WeakMap,plugin_subtitle={id:"subtitle",start(chart,_args,options){let title=new Title({ctx:chart.ctx,options,chart});layouts.configure(chart,title,options),layouts.addBox(chart,title),map2.set(chart,title)},stop(chart){layouts.removeBox(chart,map2.get(chart)),map2.delete(chart)},beforeUpdate(chart,_args,options){let title=map2.get(chart);layouts.configure(chart,title,options),title.options=options},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},positioners={average(items){if(!items.length)return!1;let i,len,x=0,y=0,count=0;for(i=0,len=items.length;i-1?str.split(` -`):str}function createTooltipItem(chart,item){let{element,datasetIndex,index:index2}=item,controller=chart.getDatasetMeta(datasetIndex).controller,{label,value}=controller.getLabelAndValue(index2);return{chart,label,parsed:controller.getParsed(index2),raw:chart.data.datasets[datasetIndex].data[index2],formattedValue:value,dataset:controller.getDataset(),dataIndex:index2,datasetIndex,element}}function getTooltipSize(tooltip,options){let ctx=tooltip.chart.ctx,{body,footer,title}=tooltip,{boxWidth,boxHeight}=options,bodyFont=toFont(options.bodyFont),titleFont=toFont(options.titleFont),footerFont=toFont(options.footerFont),titleLineCount=title.length,footerLineCount=footer.length,bodyLineItemCount=body.length,padding=toPadding(options.padding),height=padding.height,width=0,combinedBodyLength=body.reduce((count,bodyItem)=>count+bodyItem.before.length+bodyItem.lines.length+bodyItem.after.length,0);if(combinedBodyLength+=tooltip.beforeBody.length+tooltip.afterBody.length,titleLineCount&&(height+=titleLineCount*titleFont.lineHeight+(titleLineCount-1)*options.titleSpacing+options.titleMarginBottom),combinedBodyLength){let bodyLineHeight=options.displayColors?Math.max(boxHeight,bodyFont.lineHeight):bodyFont.lineHeight;height+=bodyLineItemCount*bodyLineHeight+(combinedBodyLength-bodyLineItemCount)*bodyFont.lineHeight+(combinedBodyLength-1)*options.bodySpacing}footerLineCount&&(height+=options.footerMarginTop+footerLineCount*footerFont.lineHeight+(footerLineCount-1)*options.footerSpacing);let widthPadding=0,maxLineWidth=function(line){width=Math.max(width,ctx.measureText(line).width+widthPadding)};return ctx.save(),ctx.font=titleFont.string,each(tooltip.title,maxLineWidth),ctx.font=bodyFont.string,each(tooltip.beforeBody.concat(tooltip.afterBody),maxLineWidth),widthPadding=options.displayColors?boxWidth+2+options.boxPadding:0,each(body,bodyItem=>{each(bodyItem.before,maxLineWidth),each(bodyItem.lines,maxLineWidth),each(bodyItem.after,maxLineWidth)}),widthPadding=0,ctx.font=footerFont.string,each(tooltip.footer,maxLineWidth),ctx.restore(),width+=padding.width,{width,height}}function determineYAlign(chart,size){let{y,height}=size;return ychart.height-height/2?"bottom":"center"}function doesNotFitWithAlign(xAlign,chart,options,size){let{x,width}=size,caret=options.caretSize+options.caretPadding;if(xAlign==="left"&&x+width+caret>chart.width||xAlign==="right"&&x-width-caret<0)return!0}function determineXAlign(chart,options,size,yAlign){let{x,width}=size,{width:chartWidth,chartArea:{left,right}}=chart,xAlign="center";return yAlign==="center"?xAlign=x<=(left+right)/2?"left":"right":x<=width/2?xAlign="left":x>=chartWidth-width/2&&(xAlign="right"),doesNotFitWithAlign(xAlign,chart,options,size)&&(xAlign="center"),xAlign}function determineAlignment(chart,options,size){let yAlign=size.yAlign||options.yAlign||determineYAlign(chart,size);return{xAlign:size.xAlign||options.xAlign||determineXAlign(chart,options,size,yAlign),yAlign}}function alignX(size,xAlign){let{x,width}=size;return xAlign==="right"?x-=width:xAlign==="center"&&(x-=width/2),x}function alignY(size,yAlign,paddingAndSize){let{y,height}=size;return yAlign==="top"?y+=paddingAndSize:yAlign==="bottom"?y-=height+paddingAndSize:y-=height/2,y}function getBackgroundPoint(options,size,alignment,chart){let{caretSize,caretPadding,cornerRadius}=options,{xAlign,yAlign}=alignment,paddingAndSize=caretSize+caretPadding,{topLeft,topRight,bottomLeft,bottomRight}=toTRBLCorners(cornerRadius),x=alignX(size,xAlign),y=alignY(size,yAlign,paddingAndSize);return yAlign==="center"?xAlign==="left"?x+=paddingAndSize:xAlign==="right"&&(x-=paddingAndSize):xAlign==="left"?x-=Math.max(topLeft,bottomLeft)+caretSize:xAlign==="right"&&(x+=Math.max(topRight,bottomRight)+caretSize),{x:_limitValue(x,0,chart.width-size.width),y:_limitValue(y,0,chart.height-size.height)}}function getAlignedX(tooltip,align,options){let padding=toPadding(options.padding);return align==="center"?tooltip.x+tooltip.width/2:align==="right"?tooltip.x+tooltip.width-padding.right:tooltip.x+padding.left}function getBeforeAfterBodyLines(callback2){return pushOrConcat([],splitNewlines(callback2))}function createTooltipContext(parent,tooltip,tooltipItems){return createContext(parent,{tooltip,tooltipItems,type:"tooltip"})}function overrideCallbacks(callbacks,context){let override=context&&context.dataset&&context.dataset.tooltip&&context.dataset.tooltip.callbacks;return override?callbacks.override(override):callbacks}var Tooltip=class extends Element2{constructor(config){super();this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=config.chart||config._chart,this._chart=this.chart,this.options=config.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(options){this.options=options,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let cached=this._cachedAnimations;if(cached)return cached;let chart=this.chart,options=this.options.setContext(this.getContext()),opts=options.enabled&&chart.options.animation&&options.animations,animations=new Animations(this.chart,opts);return opts._cacheable&&(this._cachedAnimations=Object.freeze(animations)),animations}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(context,options){let{callbacks}=options,beforeTitle=callbacks.beforeTitle.apply(this,[context]),title=callbacks.title.apply(this,[context]),afterTitle=callbacks.afterTitle.apply(this,[context]),lines=[];return lines=pushOrConcat(lines,splitNewlines(beforeTitle)),lines=pushOrConcat(lines,splitNewlines(title)),lines=pushOrConcat(lines,splitNewlines(afterTitle)),lines}getBeforeBody(tooltipItems,options){return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this,[tooltipItems]))}getBody(tooltipItems,options){let{callbacks}=options,bodyItems=[];return each(tooltipItems,context=>{let bodyItem={before:[],lines:[],after:[]},scoped=overrideCallbacks(callbacks,context);pushOrConcat(bodyItem.before,splitNewlines(scoped.beforeLabel.call(this,context))),pushOrConcat(bodyItem.lines,scoped.label.call(this,context)),pushOrConcat(bodyItem.after,splitNewlines(scoped.afterLabel.call(this,context))),bodyItems.push(bodyItem)}),bodyItems}getAfterBody(tooltipItems,options){return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this,[tooltipItems]))}getFooter(tooltipItems,options){let{callbacks}=options,beforeFooter=callbacks.beforeFooter.apply(this,[tooltipItems]),footer=callbacks.footer.apply(this,[tooltipItems]),afterFooter=callbacks.afterFooter.apply(this,[tooltipItems]),lines=[];return lines=pushOrConcat(lines,splitNewlines(beforeFooter)),lines=pushOrConcat(lines,splitNewlines(footer)),lines=pushOrConcat(lines,splitNewlines(afterFooter)),lines}_createItems(options){let active=this._active,data=this.chart.data,labelColors=[],labelPointStyles=[],labelTextColors=[],tooltipItems=[],i,len;for(i=0,len=active.length;ioptions.filter(element,index2,array,data))),options.itemSort&&(tooltipItems=tooltipItems.sort((a,b)=>options.itemSort(a,b,data))),each(tooltipItems,context=>{let scoped=overrideCallbacks(options.callbacks,context);labelColors.push(scoped.labelColor.call(this,context)),labelPointStyles.push(scoped.labelPointStyle.call(this,context)),labelTextColors.push(scoped.labelTextColor.call(this,context))}),this.labelColors=labelColors,this.labelPointStyles=labelPointStyles,this.labelTextColors=labelTextColors,this.dataPoints=tooltipItems,tooltipItems}update(changed,replay){let options=this.options.setContext(this.getContext()),active=this._active,properties,tooltipItems=[];if(!active.length)this.opacity!==0&&(properties={opacity:0});else{let position=positioners[options.position].call(this,active,this._eventPosition);tooltipItems=this._createItems(options),this.title=this.getTitle(tooltipItems,options),this.beforeBody=this.getBeforeBody(tooltipItems,options),this.body=this.getBody(tooltipItems,options),this.afterBody=this.getAfterBody(tooltipItems,options),this.footer=this.getFooter(tooltipItems,options);let size=this._size=getTooltipSize(this,options),positionAndSize=Object.assign({},position,size),alignment=determineAlignment(this.chart,options,positionAndSize),backgroundPoint=getBackgroundPoint(options,positionAndSize,alignment,this.chart);this.xAlign=alignment.xAlign,this.yAlign=alignment.yAlign,properties={opacity:1,x:backgroundPoint.x,y:backgroundPoint.y,width:size.width,height:size.height,caretX:position.x,caretY:position.y}}this._tooltipItems=tooltipItems,this.$context=void 0,properties&&this._resolveAnimations().update(this,properties),changed&&options.external&&options.external.call(this,{chart:this.chart,tooltip:this,replay})}drawCaret(tooltipPoint,ctx,size,options){let caretPosition=this.getCaretPosition(tooltipPoint,size,options);ctx.lineTo(caretPosition.x1,caretPosition.y1),ctx.lineTo(caretPosition.x2,caretPosition.y2),ctx.lineTo(caretPosition.x3,caretPosition.y3)}getCaretPosition(tooltipPoint,size,options){let{xAlign,yAlign}=this,{caretSize,cornerRadius}=options,{topLeft,topRight,bottomLeft,bottomRight}=toTRBLCorners(cornerRadius),{x:ptX,y:ptY}=tooltipPoint,{width,height}=size,x1,x2,x3,y1,y2,y3;return yAlign==="center"?(y2=ptY+height/2,xAlign==="left"?(x1=ptX,x2=x1-caretSize,y1=y2+caretSize,y3=y2-caretSize):(x1=ptX+width,x2=x1+caretSize,y1=y2-caretSize,y3=y2+caretSize),x3=x1):(xAlign==="left"?x2=ptX+Math.max(topLeft,bottomLeft)+caretSize:xAlign==="right"?x2=ptX+width-Math.max(topRight,bottomRight)-caretSize:x2=this.caretX,yAlign==="top"?(y1=ptY,y2=y1-caretSize,x1=x2-caretSize,x3=x2+caretSize):(y1=ptY+height,y2=y1+caretSize,x1=x2+caretSize,x3=x2-caretSize),y3=y1),{x1,x2,x3,y1,y2,y3}}drawTitle(pt,ctx,options){let title=this.title,length=title.length,titleFont,titleSpacing,i;if(length){let rtlHelper=getRtlAdapter(options.rtl,this.x,this.width);for(pt.x=getAlignedX(this,options.titleAlign,options),ctx.textAlign=rtlHelper.textAlign(options.titleAlign),ctx.textBaseline="middle",titleFont=toFont(options.titleFont),titleSpacing=options.titleSpacing,ctx.fillStyle=options.titleColor,ctx.font=titleFont.string,i=0;iv!==0)?(ctx.beginPath(),ctx.fillStyle=options.multiKeyBackground,addRoundedRectPath(ctx,{x:outerX,y:colorY,w:boxWidth,h:boxHeight,radius:borderRadius}),ctx.fill(),ctx.stroke(),ctx.fillStyle=labelColors.backgroundColor,ctx.beginPath(),addRoundedRectPath(ctx,{x:innerX,y:colorY+1,w:boxWidth-2,h:boxHeight-2,radius:borderRadius}),ctx.fill()):(ctx.fillStyle=options.multiKeyBackground,ctx.fillRect(outerX,colorY,boxWidth,boxHeight),ctx.strokeRect(outerX,colorY,boxWidth,boxHeight),ctx.fillStyle=labelColors.backgroundColor,ctx.fillRect(innerX,colorY+1,boxWidth-2,boxHeight-2))}ctx.fillStyle=this.labelTextColors[i]}drawBody(pt,ctx,options){let{body}=this,{bodySpacing,bodyAlign,displayColors,boxHeight,boxWidth,boxPadding}=options,bodyFont=toFont(options.bodyFont),bodyLineHeight=bodyFont.lineHeight,xLinePadding=0,rtlHelper=getRtlAdapter(options.rtl,this.x,this.width),fillLineOfText=function(line){ctx.fillText(line,rtlHelper.x(pt.x+xLinePadding),pt.y+bodyLineHeight/2),pt.y+=bodyLineHeight+bodySpacing},bodyAlignForCalculation=rtlHelper.textAlign(bodyAlign),bodyItem,textColor,lines,i,j,ilen,jlen;for(ctx.textAlign=bodyAlign,ctx.textBaseline="middle",ctx.font=bodyFont.string,pt.x=getAlignedX(this,bodyAlignForCalculation,options),ctx.fillStyle=options.bodyColor,each(this.beforeBody,fillLineOfText),xLinePadding=displayColors&&bodyAlignForCalculation!=="right"?bodyAlign==="center"?boxWidth/2+boxPadding:boxWidth+2+boxPadding:0,i=0,ilen=body.length;i0&&ctx.stroke()}_updateAnimationTarget(options){let chart=this.chart,anims=this.$animations,animX=anims&&anims.x,animY=anims&&anims.y;if(animX||animY){let position=positioners[options.position].call(this,this._active,this._eventPosition);if(!position)return;let size=this._size=getTooltipSize(this,options),positionAndSize=Object.assign({},position,this._size),alignment=determineAlignment(chart,options,positionAndSize),point=getBackgroundPoint(options,positionAndSize,alignment,chart);(animX._to!==point.x||animY._to!==point.y)&&(this.xAlign=alignment.xAlign,this.yAlign=alignment.yAlign,this.width=size.width,this.height=size.height,this.caretX=position.x,this.caretY=position.y,this._resolveAnimations().update(this,point))}}_willRender(){return!!this.opacity}draw(ctx){let options=this.options.setContext(this.getContext()),opacity=this.opacity;if(!opacity)return;this._updateAnimationTarget(options);let tooltipSize={width:this.width,height:this.height},pt={x:this.x,y:this.y};opacity=Math.abs(opacity)<.001?0:opacity;let padding=toPadding(options.padding),hasTooltipContent=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;options.enabled&&hasTooltipContent&&(ctx.save(),ctx.globalAlpha=opacity,this.drawBackground(pt,ctx,tooltipSize,options),overrideTextDirection(ctx,options.textDirection),pt.y+=padding.top,this.drawTitle(pt,ctx,options),this.drawBody(pt,ctx,options),this.drawFooter(pt,ctx,options),restoreTextDirection(ctx,options.textDirection),ctx.restore())}getActiveElements(){return this._active||[]}setActiveElements(activeElements,eventPosition){let lastActive=this._active,active=activeElements.map(({datasetIndex,index:index2})=>{let meta=this.chart.getDatasetMeta(datasetIndex);if(!meta)throw new Error("Cannot find a dataset at index "+datasetIndex);return{datasetIndex,element:meta.data[index2],index:index2}}),changed=!_elementsEqual(lastActive,active),positionChanged=this._positionChanged(active,eventPosition);(changed||positionChanged)&&(this._active=active,this._eventPosition=eventPosition,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,replay,inChartArea=!0){if(replay&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let options=this.options,lastActive=this._active||[],active=this._getActiveElements(e,lastActive,replay,inChartArea),positionChanged=this._positionChanged(active,e),changed=replay||!_elementsEqual(active,lastActive)||positionChanged;return changed&&(this._active=active,(options.enabled||options.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,replay))),changed}_getActiveElements(e,lastActive,replay,inChartArea){let options=this.options;if(e.type==="mouseout")return[];if(!inChartArea)return lastActive;let active=this.chart.getElementsAtEventForMode(e,options.mode,options,replay);return options.reverse&&active.reverse(),active}_positionChanged(active,e){let{caretX,caretY,options}=this,position=positioners[options.position].call(this,active,e);return position!==!1&&(caretX!==position.x||caretY!==position.y)}};Tooltip.positioners=positioners;var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(chart,_args,options){options&&(chart.tooltip=new Tooltip({chart,options}))},beforeUpdate(chart,_args,options){chart.tooltip&&chart.tooltip.initialize(options)},reset(chart,_args,options){chart.tooltip&&chart.tooltip.initialize(options)},afterDraw(chart){let tooltip=chart.tooltip;if(tooltip&&tooltip._willRender()){let args={tooltip};if(chart.notifyPlugins("beforeTooltipDraw",args)===!1)return;tooltip.draw(chart.ctx),chart.notifyPlugins("afterTooltipDraw",args)}},afterEvent(chart,args){if(chart.tooltip){let useFinalPosition=args.replay;chart.tooltip.handleEvent(args.event,useFinalPosition,args.inChartArea)&&(args.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(ctx,opts)=>opts.bodyFont.size,boxWidth:(ctx,opts)=>opts.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:noop,title(tooltipItems){if(tooltipItems.length>0){let item=tooltipItems[0],labels=item.chart.data.labels,labelCount=labels?labels.length:0;if(this&&this.options&&this.options.mode==="dataset")return item.dataset.label||"";if(item.label)return item.label;if(labelCount>0&&item.dataIndexname!=="filter"&&name!=="itemSort"&&name!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Decimation:plugin_decimation,Filler:index,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip}),addIfString=(labels,raw,index2,addedLabels)=>(typeof raw=="string"?(index2=labels.push(raw)-1,addedLabels.unshift({index:index2,label:raw})):isNaN(raw)&&(index2=null),index2);function findOrAddLabel(labels,raw,index2,addedLabels){let first=labels.indexOf(raw);if(first===-1)return addIfString(labels,raw,index2,addedLabels);let last=labels.lastIndexOf(raw);return first!==last?index2:first}var validIndex=(index2,max)=>index2===null?null:_limitValue(Math.round(index2),0,max),CategoryScale=class extends Scale{constructor(cfg){super(cfg);this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(scaleOptions){let added=this._addedLabels;if(added.length){let labels=this.getLabels();for(let{index:index2,label}of added)labels[index2]===label&&labels.splice(index2,1);this._addedLabels=[]}super.init(scaleOptions)}parse(raw,index2){if(isNullOrUndef(raw))return null;let labels=this.getLabels();return index2=isFinite(index2)&&labels[index2]===raw?index2:findOrAddLabel(labels,raw,valueOrDefault(index2,raw),this._addedLabels),validIndex(index2,labels.length-1)}determineDataLimits(){let{minDefined,maxDefined}=this.getUserBounds(),{min,max}=this.getMinMax(!0);this.options.bounds==="ticks"&&(minDefined||(min=0),maxDefined||(max=this.getLabels().length-1)),this.min=min,this.max=max}buildTicks(){let min=this.min,max=this.max,offset=this.options.offset,ticks=[],labels=this.getLabels();labels=min===0&&max===labels.length-1?labels:labels.slice(min,max+1),this._valueRange=Math.max(labels.length-(offset?0:1),1),this._startValue=this.min-(offset?.5:0);for(let value=min;value<=max;value++)ticks.push({value});return ticks}getLabelForValue(value){let labels=this.getLabels();return value>=0&&valueticks.length-1?null:this.getPixelForValue(ticks[index2].value)}getValueForPixel(pixel){return Math.round(this._startValue+this.getDecimalForPixel(pixel)*this._valueRange)}getBasePixel(){return this.bottom}};CategoryScale.id="category";CategoryScale.defaults={ticks:{callback:CategoryScale.prototype.getLabelForValue}};function generateTicks$1(generationOptions,dataRange){let ticks=[],MIN_SPACING=1e-14,{bounds,step,min,max,precision,count,maxTicks,maxDigits,includeBounds}=generationOptions,unit=step||1,maxSpaces=maxTicks-1,{min:rmin,max:rmax}=dataRange,minDefined=!isNullOrUndef(min),maxDefined=!isNullOrUndef(max),countDefined=!isNullOrUndef(count),minSpacing=(rmax-rmin)/(maxDigits+1),spacing=niceNum((rmax-rmin)/maxSpaces/unit)*unit,factor,niceMin,niceMax,numSpaces;if(spacingmaxSpaces&&(spacing=niceNum(numSpaces*spacing/maxSpaces/unit)*unit),isNullOrUndef(precision)||(factor=Math.pow(10,precision),spacing=Math.ceil(spacing*factor)/factor),bounds==="ticks"?(niceMin=Math.floor(rmin/spacing)*spacing,niceMax=Math.ceil(rmax/spacing)*spacing):(niceMin=rmin,niceMax=rmax),minDefined&&maxDefined&&step&&almostWhole((max-min)/step,spacing/1e3)?(numSpaces=Math.round(Math.min((max-min)/spacing,maxTicks)),spacing=(max-min)/numSpaces,niceMin=min,niceMax=max):countDefined?(niceMin=minDefined?min:niceMin,niceMax=maxDefined?max:niceMax,numSpaces=count-1,spacing=(niceMax-niceMin)/numSpaces):(numSpaces=(niceMax-niceMin)/spacing,almostEquals(numSpaces,Math.round(numSpaces),spacing/1e3)?numSpaces=Math.round(numSpaces):numSpaces=Math.ceil(numSpaces));let decimalPlaces=Math.max(_decimalPlaces(spacing),_decimalPlaces(niceMin));factor=Math.pow(10,isNullOrUndef(precision)?decimalPlaces:precision),niceMin=Math.round(niceMin*factor)/factor,niceMax=Math.round(niceMax*factor)/factor;let j=0;for(minDefined&&(includeBounds&&niceMin!==min?(ticks.push({value:min}),niceMinmin=minDefined?min:v,setMax=v=>max=maxDefined?max:v;if(beginAtZero){let minSign=sign(min),maxSign=sign(max);minSign<0&&maxSign<0?setMax(0):minSign>0&&maxSign>0&&setMin(0)}if(min===max){let offset=1;(max>=Number.MAX_SAFE_INTEGER||min<=Number.MIN_SAFE_INTEGER)&&(offset=Math.abs(max*.05)),setMax(max+offset),beginAtZero||setMin(min-offset)}this.min=min,this.max=max}getTickLimit(){let tickOpts=this.options.ticks,{maxTicksLimit,stepSize}=tickOpts,maxTicks;return stepSize?(maxTicks=Math.ceil(this.max/stepSize)-Math.floor(this.min/stepSize)+1,maxTicks>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`),maxTicks=1e3)):(maxTicks=this.computeTickLimit(),maxTicksLimit=maxTicksLimit||11),maxTicksLimit&&(maxTicks=Math.min(maxTicksLimit,maxTicks)),maxTicks}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let opts=this.options,tickOpts=opts.ticks,maxTicks=this.getTickLimit();maxTicks=Math.max(2,maxTicks);let numericGeneratorOptions={maxTicks,bounds:opts.bounds,min:opts.min,max:opts.max,precision:tickOpts.precision,step:tickOpts.stepSize,count:tickOpts.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:tickOpts.minRotation||0,includeBounds:tickOpts.includeBounds!==!1},dataRange=this._range||this,ticks=generateTicks$1(numericGeneratorOptions,dataRange);return opts.bounds==="ticks"&&_setMinAndMaxByKey(ticks,this,"value"),opts.reverse?(ticks.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),ticks}configure(){let ticks=this.ticks,start=this.min,end=this.max;if(super.configure(),this.options.offset&&ticks.length){let offset=(end-start)/Math.max(ticks.length-1,1)/2;start-=offset,end+=offset}this._startValue=start,this._endValue=end,this._valueRange=end-start}getLabelForValue(value){return formatNumber(value,this.chart.options.locale,this.options.ticks.format)}},LinearScale=class extends LinearScaleBase{determineDataLimits(){let{min,max}=this.getMinMax(!0);this.min=isNumberFinite(min)?min:0,this.max=isNumberFinite(max)?max:1,this.handleTickRangeOptions()}computeTickLimit(){let horizontal=this.isHorizontal(),length=horizontal?this.width:this.height,minRotation=toRadians(this.options.ticks.minRotation),ratio=(horizontal?Math.sin(minRotation):Math.cos(minRotation))||.001,tickFont=this._resolveTickFontOptions(0);return Math.ceil(length/Math.min(40,tickFont.lineHeight/ratio))}getPixelForValue(value){return value===null?NaN:this.getPixelForDecimal((value-this._startValue)/this._valueRange)}getValueForPixel(pixel){return this._startValue+this.getDecimalForPixel(pixel)*this._valueRange}};LinearScale.id="linear";LinearScale.defaults={ticks:{callback:Ticks.formatters.numeric}};function isMajor(tickVal){return tickVal/Math.pow(10,Math.floor(log10(tickVal)))===1}function generateTicks(generationOptions,dataRange){let endExp=Math.floor(log10(dataRange.max)),endSignificand=Math.ceil(dataRange.max/Math.pow(10,endExp)),ticks=[],tickVal=finiteOrDefault(generationOptions.min,Math.pow(10,Math.floor(log10(dataRange.min)))),exp=Math.floor(log10(tickVal)),significand=Math.floor(tickVal/Math.pow(10,exp)),precision=exp<0?Math.pow(10,Math.abs(exp)):1;do ticks.push({value:tickVal,major:isMajor(tickVal)}),++significand,significand===10&&(significand=1,++exp,precision=exp>=0?1:precision),tickVal=Math.round(significand*Math.pow(10,exp)*precision)/precision;while(exp0?value:null}determineDataLimits(){let{min,max}=this.getMinMax(!0);this.min=isNumberFinite(min)?Math.max(0,min):null,this.max=isNumberFinite(max)?Math.max(0,max):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined,maxDefined}=this.getUserBounds(),min=this.min,max=this.max,setMin=v=>min=minDefined?min:v,setMax=v=>max=maxDefined?max:v,exp=(v,m)=>Math.pow(10,Math.floor(log10(v))+m);min===max&&(min<=0?(setMin(1),setMax(10)):(setMin(exp(min,-1)),setMax(exp(max,1)))),min<=0&&setMin(exp(max,-1)),max<=0&&setMax(exp(min,1)),this._zero&&this.min!==this._suggestedMin&&min===exp(this.min,0)&&setMin(exp(min,-1)),this.min=min,this.max=max}buildTicks(){let opts=this.options,generationOptions={min:this._userMin,max:this._userMax},ticks=generateTicks(generationOptions,this);return opts.bounds==="ticks"&&_setMinAndMaxByKey(ticks,this,"value"),opts.reverse?(ticks.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),ticks}getLabelForValue(value){return value===void 0?"0":formatNumber(value,this.chart.options.locale,this.options.ticks.format)}configure(){let start=this.min;super.configure(),this._startValue=log10(start),this._valueRange=log10(this.max)-log10(start)}getPixelForValue(value){return(value===void 0||value===0)&&(value=this.min),value===null||isNaN(value)?NaN:this.getPixelForDecimal(value===this.min?0:(log10(value)-this._startValue)/this._valueRange)}getValueForPixel(pixel){let decimal=this.getDecimalForPixel(pixel);return Math.pow(10,this._startValue+decimal*this._valueRange)}};LogarithmicScale.id="logarithmic";LogarithmicScale.defaults={ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}};function getTickBackdropHeight(opts){let tickOpts=opts.ticks;if(tickOpts.display&&opts.display){let padding=toPadding(tickOpts.backdropPadding);return valueOrDefault(tickOpts.font&&tickOpts.font.size,defaults.font.size)+padding.height}return 0}function measureLabelSize(ctx,font,label){return label=isArray(label)?label:[label],{w:_longestText(ctx,font.string,label),h:label.length*font.lineHeight}}function determineLimits(angle,pos,size,min,max){return angle===min||angle===max?{start:pos-size/2,end:pos+size/2}:anglemax?{start:pos-size,end:pos}:{start:pos,end:pos+size}}function fitWithPointLabels(scale){let orig={l:scale.left+scale._padding.left,r:scale.right-scale._padding.right,t:scale.top+scale._padding.top,b:scale.bottom-scale._padding.bottom},limits=Object.assign({},orig),labelSizes=[],padding=[],valueCount=scale._pointLabels.length,pointLabelOpts=scale.options.pointLabels,additionalAngle=pointLabelOpts.centerPointLabels?PI/valueCount:0;for(let i=0;iorig.r&&(x=(hLimits.end-orig.r)/sin,limits.r=Math.max(limits.r,orig.r+x)),vLimits.startorig.b&&(y=(vLimits.end-orig.b)/cos,limits.b=Math.max(limits.b,orig.b+y))}function buildPointLabelItems(scale,labelSizes,padding){let items=[],valueCount=scale._pointLabels.length,opts=scale.options,extra=getTickBackdropHeight(opts)/2,outerDistance=scale.drawingArea,additionalAngle=opts.pointLabels.centerPointLabels?PI/valueCount:0;for(let i=0;i270||angle<90)&&(y-=h),y}function drawPointLabels(scale,labelCount){let{ctx,options:{pointLabels}}=scale;for(let i=labelCount-1;i>=0;i--){let optsAtIndex=pointLabels.setContext(scale.getPointLabelContext(i)),plFont=toFont(optsAtIndex.font),{x,y,textAlign,left,top,right,bottom}=scale._pointLabelItems[i],{backdropColor}=optsAtIndex;if(!isNullOrUndef(backdropColor)){let borderRadius=toTRBLCorners(optsAtIndex.borderRadius),padding=toPadding(optsAtIndex.backdropPadding);ctx.fillStyle=backdropColor;let backdropLeft=left-padding.left,backdropTop=top-padding.top,backdropWidth=right-left+padding.width,backdropHeight=bottom-top+padding.height;Object.values(borderRadius).some(v=>v!==0)?(ctx.beginPath(),addRoundedRectPath(ctx,{x:backdropLeft,y:backdropTop,w:backdropWidth,h:backdropHeight,radius:borderRadius}),ctx.fill()):ctx.fillRect(backdropLeft,backdropTop,backdropWidth,backdropHeight)}renderText(ctx,scale._pointLabels[i],x,y+plFont.lineHeight/2,plFont,{color:optsAtIndex.color,textAlign,textBaseline:"middle"})}}function pathRadiusLine(scale,radius,circular,labelCount){let{ctx}=scale;if(circular)ctx.arc(scale.xCenter,scale.yCenter,radius,0,TAU);else{let pointPosition=scale.getPointPosition(0,radius);ctx.moveTo(pointPosition.x,pointPosition.y);for(let i=1;i{let label=callback(this.options.pointLabels.callback,[value,index2],this);return label||label===0?label:""}).filter((v,i)=>this.chart.getDataVisibility(i))}fit(){let opts=this.options;opts.display&&opts.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(leftMovement,rightMovement,topMovement,bottomMovement){this.xCenter+=Math.floor((leftMovement-rightMovement)/2),this.yCenter+=Math.floor((topMovement-bottomMovement)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(leftMovement,rightMovement,topMovement,bottomMovement))}getIndexAngle(index2){let angleMultiplier=TAU/(this._pointLabels.length||1),startAngle=this.options.startAngle||0;return _normalizeAngle(index2*angleMultiplier+toRadians(startAngle))}getDistanceFromCenterForValue(value){if(isNullOrUndef(value))return NaN;let scalingFactor=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-value)*scalingFactor:(value-this.min)*scalingFactor}getValueForDistanceFromCenter(distance){if(isNullOrUndef(distance))return NaN;let scaledDistance=distance/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-scaledDistance:this.min+scaledDistance}getPointLabelContext(index2){let pointLabels=this._pointLabels||[];if(index2>=0&&index2{if(index2!==0){offset=this.getDistanceFromCenterForValue(tick.value);let optsAtIndex=grid.setContext(this.getContext(index2-1));drawRadiusLine(this,optsAtIndex,offset,labelCount)}}),angleLines.display){for(ctx.save(),i=labelCount-1;i>=0;i--){let optsAtIndex=angleLines.setContext(this.getPointLabelContext(i)),{color:color2,lineWidth}=optsAtIndex;!lineWidth||!color2||(ctx.lineWidth=lineWidth,ctx.strokeStyle=color2,ctx.setLineDash(optsAtIndex.borderDash),ctx.lineDashOffset=optsAtIndex.borderDashOffset,offset=this.getDistanceFromCenterForValue(opts.ticks.reverse?this.min:this.max),position=this.getPointPosition(i,offset),ctx.beginPath(),ctx.moveTo(this.xCenter,this.yCenter),ctx.lineTo(position.x,position.y),ctx.stroke())}ctx.restore()}}drawBorder(){}drawLabels(){let ctx=this.ctx,opts=this.options,tickOpts=opts.ticks;if(!tickOpts.display)return;let startAngle=this.getIndexAngle(0),offset,width;ctx.save(),ctx.translate(this.xCenter,this.yCenter),ctx.rotate(startAngle),ctx.textAlign="center",ctx.textBaseline="middle",this.ticks.forEach((tick,index2)=>{if(index2===0&&!opts.reverse)return;let optsAtIndex=tickOpts.setContext(this.getContext(index2)),tickFont=toFont(optsAtIndex.font);if(offset=this.getDistanceFromCenterForValue(this.ticks[index2].value),optsAtIndex.showLabelBackdrop){ctx.font=tickFont.string,width=ctx.measureText(tick.label).width,ctx.fillStyle=optsAtIndex.backdropColor;let padding=toPadding(optsAtIndex.backdropPadding);ctx.fillRect(-width/2-padding.left,-offset-tickFont.size/2-padding.top,width+padding.width,tickFont.size+padding.height)}renderText(ctx,tick.label,0,-offset,tickFont,{color:optsAtIndex.color})}),ctx.restore()}drawTitle(){}};RadialLinearScale.id="radialLinear";RadialLinearScale.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(label){return label},padding:5,centerPointLabels:!1}};RadialLinearScale.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};RadialLinearScale.descriptors={angleLines:{_fallback:"grid"}};var INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(a,b){return a-b}function parse(scale,input){if(isNullOrUndef(input))return null;let adapter=scale._adapter,{parser,round:round2,isoWeekday}=scale._parseOpts,value=input;return typeof parser=="function"&&(value=parser(value)),isNumberFinite(value)||(value=typeof parser=="string"?adapter.parse(value,parser):adapter.parse(value)),value===null?null:(round2&&(value=round2==="week"&&(isNumber(isoWeekday)||isoWeekday===!0)?adapter.startOf(value,"isoWeek",isoWeekday):adapter.startOf(value,round2)),+value)}function determineUnitForAutoTicks(minUnit,min,max,capacity){let ilen=UNITS.length;for(let i=UNITS.indexOf(minUnit);i=UNITS.indexOf(minUnit);i--){let unit=UNITS[i];if(INTERVALS[unit].common&&scale._adapter.diff(max,min,unit)>=numTicks-1)return unit}return UNITS[minUnit?UNITS.indexOf(minUnit):0]}function determineMajorUnit(unit){for(let i=UNITS.indexOf(unit)+1,ilen=UNITS.length;i=time?timestamps[lo]:timestamps[hi];ticks[timestamp]=!0}}function setMajorTicks(scale,ticks,map3,majorUnit){let adapter=scale._adapter,first=+adapter.startOf(ticks[0].value,majorUnit),last=ticks[ticks.length-1].value,major,index2;for(major=first;major<=last;major=+adapter.add(major,1,majorUnit))index2=map3[major],index2>=0&&(ticks[index2].major=!0);return ticks}function ticksFromTimestamps(scale,values,majorUnit){let ticks=[],map3={},ilen=values.length,i,value;for(i=0;i+tick.value))}initOffsets(timestamps){let start=0,end=0,first,last;this.options.offset&×tamps.length&&(first=this.getDecimalForValue(timestamps[0]),timestamps.length===1?start=1-first:start=(this.getDecimalForValue(timestamps[1])-first)/2,last=this.getDecimalForValue(timestamps[timestamps.length-1]),timestamps.length===1?end=last:end=(last-this.getDecimalForValue(timestamps[timestamps.length-2]))/2);let limit=timestamps.length<3?.5:.25;start=_limitValue(start,0,limit),end=_limitValue(end,0,limit),this._offsets={start,end,factor:1/(start+1+end)}}_generate(){let adapter=this._adapter,min=this.min,max=this.max,options=this.options,timeOpts=options.time,minor=timeOpts.unit||determineUnitForAutoTicks(timeOpts.minUnit,min,max,this._getLabelCapacity(min)),stepSize=valueOrDefault(timeOpts.stepSize,1),weekday=minor==="week"?timeOpts.isoWeekday:!1,hasWeekday=isNumber(weekday)||weekday===!0,ticks={},first=min,time,count;if(hasWeekday&&(first=+adapter.startOf(first,"isoWeek",weekday)),first=+adapter.startOf(first,hasWeekday?"day":minor),adapter.diff(max,min,minor)>1e5*stepSize)throw new Error(min+" and "+max+" are too far apart with stepSize of "+stepSize+" "+minor);let timestamps=options.ticks.source==="data"&&this.getDataTimestamps();for(time=first,count=0;timea-b).map(x=>+x)}getLabelForValue(value){let adapter=this._adapter,timeOpts=this.options.time;return timeOpts.tooltipFormat?adapter.format(value,timeOpts.tooltipFormat):adapter.format(value,timeOpts.displayFormats.datetime)}_tickFormatFunction(time,index2,ticks,format){let options=this.options,formats=options.time.displayFormats,unit=this._unit,majorUnit=this._majorUnit,minorFormat=unit&&formats[unit],majorFormat=majorUnit&&formats[majorUnit],tick=ticks[index2],major=majorUnit&&majorFormat&&tick&&tick.major,label=this._adapter.format(time,format||(major?majorFormat:minorFormat)),formatter=options.ticks.callback;return formatter?callback(formatter,[label,index2,ticks],this):label}generateTickLabels(ticks){let i,ilen,tick;for(i=0,ilen=ticks.length;i0?capacity:1}getDataTimestamps(){let timestamps=this._cache.data||[],i,ilen;if(timestamps.length)return timestamps;let metas=this.getMatchingVisibleMetas();if(this._normalized&&metas.length)return this._cache.data=metas[0].controller.getAllParsedValues(this);for(i=0,ilen=metas.length;i=table[lo].pos&&val<=table[hi].pos&&({lo,hi}=_lookupByKey(table,"pos",val)),{pos:prevSource,time:prevTarget}=table[lo],{pos:nextSource,time:nextTarget}=table[hi]):(val>=table[lo].time&&val<=table[hi].time&&({lo,hi}=_lookupByKey(table,"time",val)),{time:prevSource,pos:prevTarget}=table[lo],{time:nextSource,pos:nextTarget}=table[hi]);let span=nextSource-prevSource;return span?prevTarget+(nextTarget-prevTarget)*(val-prevSource)/span:prevTarget}var TimeSeriesScale=class extends TimeScale{constructor(props){super(props);this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let timestamps=this._getTimestampsForTable(),table=this._table=this.buildLookupTable(timestamps);this._minPos=interpolate2(table,this.min),this._tableRange=interpolate2(table,this.max)-this._minPos,super.initOffsets(timestamps)}buildLookupTable(timestamps){let{min,max}=this,items=[],table=[],i,ilen,prev,curr,next;for(i=0,ilen=timestamps.length;i=min&&curr<=max&&items.push(curr);if(items.length<2)return[{time:min,pos:0},{time:max,pos:1}];for(i=0,ilen=items.length;i{!modifiers.includes("min")||(el._x_doShow=()=>{},el._x_doHide=()=>{})};function collapse(el,{modifiers}){let duration=modifierValue(modifiers,"duration",250)/1e3,floor=modifierValue(modifiers,"min",0),fullyHide=!modifiers.includes("min");el._x_isShown||(el.style.height=`${floor}px`),!el._x_isShown&&fullyHide&&(el.hidden=!0),el._x_isShown||(el.style.overflow="hidden");let setFunction=(el2,styles)=>{let revertFunction=Alpine.setStyles(el2,styles);return styles.height?()=>{}:revertFunction},transitionStyles={transitionProperty:"height",transitionDuration:`${duration}s`,transitionTimingFunction:"cubic-bezier(0.4, 0.0, 0.2, 1)"};el._x_transition={in(before=()=>{},after=()=>{}){fullyHide&&(el.hidden=!1),fullyHide&&(el.style.display=null);let current=el.getBoundingClientRect().height;el.style.height="auto";let full=el.getBoundingClientRect().height;current===full&&(current=floor),Alpine.transition(el,Alpine.setStyles,{during:transitionStyles,start:{height:current+"px"},end:{height:full+"px"}},()=>el._x_isShown=!0,()=>{el.style.height==`${full}px`&&(el.style.overflow=null)})},out(before=()=>{},after=()=>{}){let full=el.getBoundingClientRect().height;Alpine.transition(el,setFunction,{during:transitionStyles,start:{height:full+"px"},end:{height:floor+"px"}},()=>el.style.overflow="hidden",()=>{el._x_isShown=!1,el.style.height==`${floor}px`&&fullyHide&&(el.style.display="none",el.hidden=!0)})}}}}function modifierValue(modifiers,key,fallback){if(modifiers.indexOf(key)===-1)return fallback;let rawValue=modifiers[modifiers.indexOf(key)+1];if(!rawValue)return fallback;if(key==="duration"){let match=rawValue.match(/([0-9]+)ms/);if(match)return match[1]}if(key==="min"){let match=rawValue.match(/([0-9]+)px/);if(match)return match[1]}return rawValue}var module_default=src_default;var candidateSelectors=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details"],candidateSelector=candidateSelectors.join(","),matches=typeof Element=="undefined"?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,getCandidates=function(el,includeContainer,filter){var candidates=Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));return includeContainer&&matches.call(el,candidateSelector)&&candidates.unshift(el),candidates=candidates.filter(filter),candidates},isContentEditable=function(node){return node.contentEditable==="true"},getTabindex=function(node){var tabindexAttr=parseInt(node.getAttribute("tabindex"),10);return isNaN(tabindexAttr)?isContentEditable(node)||(node.nodeName==="AUDIO"||node.nodeName==="VIDEO"||node.nodeName==="DETAILS")&&node.getAttribute("tabindex")===null?0:node.tabIndex:tabindexAttr},sortOrderedTabbables=function(a,b){return a.tabIndex===b.tabIndex?a.documentOrder-b.documentOrder:a.tabIndex-b.tabIndex},isInput=function(node){return node.tagName==="INPUT"},isHiddenInput=function(node){return isInput(node)&&node.type==="hidden"},isDetailsWithSummary=function(node){var r=node.tagName==="DETAILS"&&Array.prototype.slice.apply(node.children).some(function(child){return child.tagName==="SUMMARY"});return r},getCheckedRadio=function(nodes,form){for(var i=0;isummary:first-of-type"),nodeUnderDetails=isDirectSummary?node.parentElement:node;if(matches.call(nodeUnderDetails,"details:not([open]) *"))return!0;if(!displayCheck||displayCheck==="full")for(;node;){if(getComputedStyle(node).display==="none")return!0;node=node.parentElement}else if(displayCheck==="non-zero-area"){var _node$getBoundingClie=node.getBoundingClientRect(),width=_node$getBoundingClie.width,height=_node$getBoundingClie.height;return width===0&&height===0}return!1},isDisabledFromFieldset=function(node){if(isInput(node)||node.tagName==="SELECT"||node.tagName==="TEXTAREA"||node.tagName==="BUTTON")for(var parentNode=node.parentElement;parentNode;){if(parentNode.tagName==="FIELDSET"&&parentNode.disabled){for(var i=0;i0){var activeTrap=trapQueue[trapQueue.length-1];activeTrap!==trap&&activeTrap.pause()}var trapIndex=trapQueue.indexOf(trap);trapIndex===-1||trapQueue.splice(trapIndex,1),trapQueue.push(trap)},deactivateTrap:function(trap){var trapIndex=trapQueue.indexOf(trap);trapIndex!==-1&&trapQueue.splice(trapIndex,1),trapQueue.length>0&&trapQueue[trapQueue.length-1].unpause()}}}(),isSelectableInput=function(node){return node.tagName&&node.tagName.toLowerCase()==="input"&&typeof node.select=="function"},isEscapeEvent=function(e){return e.key==="Escape"||e.key==="Esc"||e.keyCode===27},isTabEvent=function(e){return e.key==="Tab"||e.keyCode===9},delay=function(fn){return setTimeout(fn,0)},findIndex=function(arr,fn){var idx=-1;return arr.every(function(value,i){return fn(value)?(idx=i,!1):!0}),idx},valueOrHandler=function(value){for(var _len=arguments.length,params=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)params[_key-1]=arguments[_key];return typeof value=="function"?value.apply(void 0,params):value},createFocusTrap=function(elements2,userOptions){var doc=document,config=_objectSpread2({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0},userOptions),state={containers:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,delayInitialFocusTimer:void 0},trap,getOption=function(configOverrideOptions,optionName,configOptionName){return configOverrideOptions&&configOverrideOptions[optionName]!==void 0?configOverrideOptions[optionName]:config[configOptionName||optionName]},containersContain=function(element){return state.containers.some(function(container){return container.contains(element)})},getNodeForOption=function(optionName){var optionValue=config[optionName];if(!optionValue)return null;var node=optionValue;if(typeof optionValue=="string"&&(node=doc.querySelector(optionValue),!node))throw new Error("`".concat(optionName,"` refers to no known node"));if(typeof optionValue=="function"&&(node=optionValue(),!node))throw new Error("`".concat(optionName,"` did not return a node"));return node},getInitialFocusNode=function(){var node;if(getOption({},"initialFocus")===!1)return!1;if(getNodeForOption("initialFocus")!==null)node=getNodeForOption("initialFocus");else if(containersContain(doc.activeElement))node=doc.activeElement;else{var firstTabbableGroup=state.tabbableGroups[0],firstTabbableNode=firstTabbableGroup&&firstTabbableGroup.firstTabbableNode;node=firstTabbableNode||getNodeForOption("fallbackFocus")}if(!node)throw new Error("Your focus-trap needs to have at least one focusable element");return node},updateTabbableNodes=function(){if(state.tabbableGroups=state.containers.map(function(container){var tabbableNodes=tabbable(container);if(tabbableNodes.length>0)return{container,firstTabbableNode:tabbableNodes[0],lastTabbableNode:tabbableNodes[tabbableNodes.length-1]}}).filter(function(group){return!!group}),state.tabbableGroups.length<=0&&!getNodeForOption("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times")},tryFocus=function tryFocus2(node){if(node!==!1&&node!==doc.activeElement){if(!node||!node.focus){tryFocus2(getInitialFocusNode());return}node.focus({preventScroll:!!config.preventScroll}),state.mostRecentlyFocusedNode=node,isSelectableInput(node)&&node.select()}},getReturnFocusNode=function(previousActiveElement){var node=getNodeForOption("setReturnFocus");return node||previousActiveElement},checkPointerDown=function(e){if(!containersContain(e.target)){if(valueOrHandler(config.clickOutsideDeactivates,e)){trap.deactivate({returnFocus:config.returnFocusOnDeactivate&&!isFocusable(e.target)});return}valueOrHandler(config.allowOutsideClick,e)||e.preventDefault()}},checkFocusIn=function(e){var targetContained=containersContain(e.target);targetContained||e.target instanceof Document?targetContained&&(state.mostRecentlyFocusedNode=e.target):(e.stopImmediatePropagation(),tryFocus(state.mostRecentlyFocusedNode||getInitialFocusNode()))},checkTab=function(e){updateTabbableNodes();var destinationNode=null;if(state.tabbableGroups.length>0){var containerIndex=findIndex(state.tabbableGroups,function(_ref){var container=_ref.container;return container.contains(e.target)});if(containerIndex<0)e.shiftKey?destinationNode=state.tabbableGroups[state.tabbableGroups.length-1].lastTabbableNode:destinationNode=state.tabbableGroups[0].firstTabbableNode;else if(e.shiftKey){var startOfGroupIndex=findIndex(state.tabbableGroups,function(_ref2){var firstTabbableNode=_ref2.firstTabbableNode;return e.target===firstTabbableNode});if(startOfGroupIndex<0&&state.tabbableGroups[containerIndex].container===e.target&&(startOfGroupIndex=containerIndex),startOfGroupIndex>=0){var destinationGroupIndex=startOfGroupIndex===0?state.tabbableGroups.length-1:startOfGroupIndex-1,destinationGroup=state.tabbableGroups[destinationGroupIndex];destinationNode=destinationGroup.lastTabbableNode}}else{var lastOfGroupIndex=findIndex(state.tabbableGroups,function(_ref3){var lastTabbableNode=_ref3.lastTabbableNode;return e.target===lastTabbableNode});if(lastOfGroupIndex<0&&state.tabbableGroups[containerIndex].container===e.target&&(lastOfGroupIndex=containerIndex),lastOfGroupIndex>=0){var _destinationGroupIndex=lastOfGroupIndex===state.tabbableGroups.length-1?0:lastOfGroupIndex+1,_destinationGroup=state.tabbableGroups[_destinationGroupIndex];destinationNode=_destinationGroup.firstTabbableNode}}}else destinationNode=getNodeForOption("fallbackFocus");destinationNode&&(e.preventDefault(),tryFocus(destinationNode))},checkKey=function(e){if(isEscapeEvent(e)&&valueOrHandler(config.escapeDeactivates)!==!1){e.preventDefault(),trap.deactivate();return}if(isTabEvent(e)){checkTab(e);return}},checkClick=function(e){valueOrHandler(config.clickOutsideDeactivates,e)||containersContain(e.target)||valueOrHandler(config.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},addListeners=function(){if(!!state.active)return activeFocusTraps.activateTrap(trap),state.delayInitialFocusTimer=config.delayInitialFocus?delay(function(){tryFocus(getInitialFocusNode())}):tryFocus(getInitialFocusNode()),doc.addEventListener("focusin",checkFocusIn,!0),doc.addEventListener("mousedown",checkPointerDown,{capture:!0,passive:!1}),doc.addEventListener("touchstart",checkPointerDown,{capture:!0,passive:!1}),doc.addEventListener("click",checkClick,{capture:!0,passive:!1}),doc.addEventListener("keydown",checkKey,{capture:!0,passive:!1}),trap},removeListeners=function(){if(!!state.active)return doc.removeEventListener("focusin",checkFocusIn,!0),doc.removeEventListener("mousedown",checkPointerDown,!0),doc.removeEventListener("touchstart",checkPointerDown,!0),doc.removeEventListener("click",checkClick,!0),doc.removeEventListener("keydown",checkKey,!0),trap};return trap={activate:function(activateOptions){if(state.active)return this;var onActivate=getOption(activateOptions,"onActivate"),onPostActivate=getOption(activateOptions,"onPostActivate"),checkCanFocusTrap=getOption(activateOptions,"checkCanFocusTrap");checkCanFocusTrap||updateTabbableNodes(),state.active=!0,state.paused=!1,state.nodeFocusedBeforeActivation=doc.activeElement,onActivate&&onActivate();var finishActivation=function(){checkCanFocusTrap&&updateTabbableNodes(),addListeners(),onPostActivate&&onPostActivate()};return checkCanFocusTrap?(checkCanFocusTrap(state.containers.concat()).then(finishActivation,finishActivation),this):(finishActivation(),this)},deactivate:function(deactivateOptions){if(!state.active)return this;clearTimeout(state.delayInitialFocusTimer),state.delayInitialFocusTimer=void 0,removeListeners(),state.active=!1,state.paused=!1,activeFocusTraps.deactivateTrap(trap);var onDeactivate=getOption(deactivateOptions,"onDeactivate"),onPostDeactivate=getOption(deactivateOptions,"onPostDeactivate"),checkCanReturnFocus=getOption(deactivateOptions,"checkCanReturnFocus");onDeactivate&&onDeactivate();var returnFocus=getOption(deactivateOptions,"returnFocus","returnFocusOnDeactivate"),finishDeactivation=function(){delay(function(){returnFocus&&tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)),onPostDeactivate&&onPostDeactivate()})};return returnFocus&&checkCanReturnFocus?(checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation,finishDeactivation),this):(finishDeactivation(),this)},pause:function(){return state.paused||!state.active?this:(state.paused=!0,removeListeners(),this)},unpause:function(){return!state.paused||!state.active?this:(state.paused=!1,updateTabbableNodes(),addListeners(),this)},updateContainerElements:function(containerElements){var elementsAsArray=[].concat(containerElements).filter(Boolean);return state.containers=elementsAsArray.map(function(element){return typeof element=="string"?doc.querySelector(element):element}),state.active&&updateTabbableNodes(),this}},trap.updateContainerElements(elements2),trap};function src_default2(Alpine){let lastFocused,currentFocused;window.addEventListener("focusin",()=>{lastFocused=currentFocused,currentFocused=document.activeElement}),Alpine.magic("focus",el=>{let within=el;return{__noscroll:!1,__wrapAround:!1,within(el2){return within=el2,this},withoutScrolling(){return this.__noscroll=!0,this},noscroll(){return this.__noscroll=!0,this},withWrapAround(){return this.__wrapAround=!0,this},wrap(){return this.withWrapAround()},focusable(el2){return isFocusable(el2)},previouslyFocused(){return lastFocused},lastFocused(){return lastFocused},focused(){return currentFocused},focusables(){return Array.isArray(within)?within:focusable(within,{displayCheck:"none"})},all(){return this.focusables()},isFirst(el2){let els=this.all();return els[0]&&els[0].isSameNode(el2)},isLast(el2){let els=this.all();return els.length&&els.slice(-1)[0].isSameNode(el2)},getFirst(){return this.all()[0]},getLast(){return this.all().slice(-1)[0]},getNext(){let list=this.all(),current=document.activeElement;if(list.indexOf(current)!==-1)return this.__wrapAround&&list.indexOf(current)===list.length-1?list[0]:list[list.indexOf(current)+1]},getPrevious(){let list=this.all(),current=document.activeElement;if(list.indexOf(current)!==-1)return this.__wrapAround&&list.indexOf(current)===0?list.slice(-1)[0]:list[list.indexOf(current)-1]},first(){this.focus(this.getFirst())},last(){this.focus(this.getLast())},next(){this.focus(this.getNext())},previous(){this.focus(this.getPrevious())},prev(){return this.previous()},focus(el2){!el2||setTimeout(()=>{el2.hasAttribute("tabindex")||el2.setAttribute("tabindex","0"),el2.focus({preventScroll:this._noscroll})})}}}),Alpine.directive("trap",Alpine.skipDuringClone((el,{expression,modifiers},{effect,evaluateLater,cleanup})=>{let evaluator=evaluateLater(expression),oldValue=!1,trap=createFocusTrap(el,{escapeDeactivates:!1,allowOutsideClick:!0,fallbackFocus:()=>el,initialFocus:el.querySelector("[autofocus]")}),undoInert=()=>{},undoDisableScrolling=()=>{},releaseFocus=()=>{undoInert(),undoInert=()=>{},undoDisableScrolling(),undoDisableScrolling=()=>{},trap.deactivate({returnFocus:!modifiers.includes("noreturn")})};effect(()=>evaluator(value=>{oldValue!==value&&(value&&!oldValue&&setTimeout(()=>{modifiers.includes("inert")&&(undoInert=setInert(el)),modifiers.includes("noscroll")&&(undoDisableScrolling=disableScrolling()),trap.activate()}),!value&&oldValue&&releaseFocus(),oldValue=!!value)})),cleanup(releaseFocus)},(el,{expression,modifiers},{evaluate})=>{modifiers.includes("inert")&&evaluate(expression)&&setInert(el)}))}function setInert(el){let undos=[];return crawlSiblingsUp(el,sibling=>{let cache=sibling.hasAttribute("aria-hidden");sibling.setAttribute("aria-hidden","true"),undos.push(()=>cache||sibling.removeAttribute("aria-hidden"))}),()=>{for(;undos.length;)undos.pop()()}}function crawlSiblingsUp(el,callback2){el.isSameNode(document.body)||!el.parentNode||Array.from(el.parentNode.children).forEach(sibling=>{sibling.isSameNode(el)||callback2(sibling),crawlSiblingsUp(el.parentNode,callback2)})}function disableScrolling(){let overflow=document.documentElement.style.overflow,paddingRight=document.documentElement.style.paddingRight,scrollbarWidth=window.innerWidth-document.documentElement.clientWidth;return document.documentElement.style.overflow="hidden",document.documentElement.style.paddingRight=`${scrollbarWidth}px`,()=>{document.documentElement.style.overflow=overflow,document.documentElement.style.paddingRight=paddingRight}}var module_default2=src_default2;var __create=Object.create,__defProp=Object.defineProperty,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__getOwnPropNames=Object.getOwnPropertyNames,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__markAsModule=target=>__defProp(target,"__esModule",{value:!0}),__commonJS=(callback2,module)=>()=>(module||(module={exports:{}},callback2(module.exports,module)),module.exports),__exportStar=(target,module,desc)=>{if(module&&typeof module=="object"||typeof module=="function")for(let key of __getOwnPropNames(module))!__hasOwnProp.call(target,key)&&key!=="default"&&__defProp(target,key,{get:()=>module[key],enumerable:!(desc=__getOwnPropDesc(module,key))||desc.enumerable});return target},__toModule=module=>__exportStar(__markAsModule(__defProp(module!=null?__create(__getProtoOf(module)):{},"default",module&&module.__esModule&&"default"in module?{get:()=>module.default,enumerable:!0}:{value:module,enumerable:!0})),module),require_mousetrap=__commonJS((exports,module)=>{(function(window2,document2,undefined2){if(!window2)return;for(var _MAP={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},_KEYCODE_MAP={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},_SHIFT_MAP={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},_SPECIAL_ALIASES={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},_REVERSE_MAP,i=1;i<20;++i)_MAP[111+i]="f"+i;for(i=0;i<=9;++i)_MAP[i+96]=i.toString();function _addEvent(object,type,callback2){if(object.addEventListener){object.addEventListener(type,callback2,!1);return}object.attachEvent("on"+type,callback2)}function _characterFromEvent(e){if(e.type=="keypress"){var character=String.fromCharCode(e.which);return e.shiftKey||(character=character.toLowerCase()),character}return _MAP[e.which]?_MAP[e.which]:_KEYCODE_MAP[e.which]?_KEYCODE_MAP[e.which]:String.fromCharCode(e.which).toLowerCase()}function _modifiersMatch(modifiers1,modifiers2){return modifiers1.sort().join(",")===modifiers2.sort().join(",")}function _eventModifiers(e){var modifiers=[];return e.shiftKey&&modifiers.push("shift"),e.altKey&&modifiers.push("alt"),e.ctrlKey&&modifiers.push("ctrl"),e.metaKey&&modifiers.push("meta"),modifiers}function _preventDefault(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function _stopPropagation(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function _isModifier(key){return key=="shift"||key=="ctrl"||key=="alt"||key=="meta"}function _getReverseMap(){if(!_REVERSE_MAP){_REVERSE_MAP={};for(var key in _MAP)key>95&&key<112||_MAP.hasOwnProperty(key)&&(_REVERSE_MAP[_MAP[key]]=key)}return _REVERSE_MAP}function _pickBestAction(key,modifiers,action){return action||(action=_getReverseMap()[key]?"keydown":"keypress"),action=="keypress"&&modifiers.length&&(action="keydown"),action}function _keysFromString(combination){return combination==="+"?["+"]:(combination=combination.replace(/\+{2}/g,"+plus"),combination.split("+"))}function _getKeyInfo(combination,action){var keys,key,i2,modifiers=[];for(keys=_keysFromString(combination),i2=0;i21){_bindSequence(combination,sequence,callback2,action);return}info=_getKeyInfo(combination,action),self._callbacks[info.key]=self._callbacks[info.key]||[],_getMatches(info.key,info.modifiers,{type:info.action},sequenceName,combination,level),self._callbacks[info.key][sequenceName?"unshift":"push"]({callback:callback2,modifiers:info.modifiers,action:info.action,seq:sequenceName,level,combo:combination})}self._bindMultiple=function(combinations,callback2,action){for(var i2=0;i2-1||_belongsTo(element,self.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var initialEventTarget=e.composedPath()[0];initialEventTarget!==e.target&&(element=initialEventTarget)}return element.tagName=="INPUT"||element.tagName=="SELECT"||element.tagName=="TEXTAREA"||element.isContentEditable},Mousetrap3.prototype.handleKey=function(){var self=this;return self._handleKey.apply(self,arguments)},Mousetrap3.addKeycodes=function(object){for(var key in object)object.hasOwnProperty(key)&&(_MAP[key]=object[key]);_REVERSE_MAP=null},Mousetrap3.init=function(){var documentMousetrap=Mousetrap3(document2);for(var method in documentMousetrap)method.charAt(0)!=="_"&&(Mousetrap3[method]=function(method2){return function(){return documentMousetrap[method2].apply(documentMousetrap,arguments)}}(method))},Mousetrap3.init(),window2.Mousetrap=Mousetrap3,typeof module!="undefined"&&module.exports&&(module.exports=Mousetrap3),typeof define=="function"&&define.amd&&define(function(){return Mousetrap3})})(typeof window!="undefined"?window:null,typeof window!="undefined"?document:null)}),import_mousetrap=__toModule(require_mousetrap());(function(Mousetrap3){if(!!Mousetrap3){var _globalCallbacks={},_originalStopCallback=Mousetrap3.prototype.stopCallback;Mousetrap3.prototype.stopCallback=function(e,element,combo,sequence){var self=this;return self.paused?!0:_globalCallbacks[combo]||_globalCallbacks[sequence]?!1:_originalStopCallback.call(self,e,element,combo)},Mousetrap3.prototype.bindGlobal=function(keys,callback2,action){var self=this;if(self.bind(keys,callback2,action),keys instanceof Array){for(var i=0;i{Alpine.directive("mousetrap",(el,{modifiers,expression},{evaluate})=>{let action=()=>expression?evaluate(expression):el.click();modifiers=modifiers.map(modifier=>modifier.replace("-","+")),modifiers.includes("global")&&(modifiers=modifiers.filter(modifier=>modifier!=="global"),import_mousetrap.default.bindGlobal(modifiers,$event=>{$event.preventDefault(),action()})),import_mousetrap.default.bind(modifiers,$event=>{$event.preventDefault(),action()})})},module_default3=src_default3;function src_default4(Alpine){let persist=()=>{let alias,storage=localStorage;return Alpine.interceptor((initialValue,getter,setter,path,key)=>{let lookup=alias||`_x_${path}`,initial=storageHas(lookup,storage)?storageGet(lookup,storage):initialValue;return setter(initial),Alpine.effect(()=>{let value=getter();storageSet(lookup,value,storage),setter(value)}),initial},func=>{func.as=key=>(alias=key,func),func.using=target=>(storage=target,func)})};Object.defineProperty(Alpine,"$persist",{get:()=>persist()}),Alpine.magic("persist",persist)}function storageHas(key,storage){return storage.getItem(key)!==null}function storageGet(key,storage){return JSON.parse(storage.getItem(key,storage))}function storageSet(key,value,storage){storage.setItem(key,JSON.stringify(value))}var module_default4=src_default4;var __create2=Object.create,__defProp2=Object.defineProperty,__getProtoOf2=Object.getPrototypeOf,__hasOwnProp2=Object.prototype.hasOwnProperty,__getOwnPropNames2=Object.getOwnPropertyNames,__getOwnPropDesc2=Object.getOwnPropertyDescriptor,__markAsModule2=target=>__defProp2(target,"__esModule",{value:!0}),__commonJS2=(callback2,module)=>()=>(module||(module={exports:{}},callback2(module.exports,module)),module.exports),__exportStar2=(target,module,desc)=>{if(module&&typeof module=="object"||typeof module=="function")for(let key of __getOwnPropNames2(module))!__hasOwnProp2.call(target,key)&&key!=="default"&&__defProp2(target,key,{get:()=>module[key],enumerable:!(desc=__getOwnPropDesc2(module,key))||desc.enumerable});return target},__toModule2=module=>__exportStar2(__markAsModule2(__defProp2(module!=null?__create2(__getProtoOf2(module)):{},"default",module&&module.__esModule&&"default"in module?{get:()=>module.default,enumerable:!0}:{value:module,enumerable:!0})),module),require_popper=__commonJS2(exports=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0});function getBoundingClientRect(element){var rect=element.getBoundingClientRect();return{width:rect.width,height:rect.height,top:rect.top,right:rect.right,bottom:rect.bottom,left:rect.left,x:rect.left,y:rect.top}}function getWindow(node){if(node==null)return window;if(node.toString()!=="[object Window]"){var ownerDocument=node.ownerDocument;return ownerDocument&&ownerDocument.defaultView||window}return node}function getWindowScroll(node){var win=getWindow(node),scrollLeft=win.pageXOffset,scrollTop=win.pageYOffset;return{scrollLeft,scrollTop}}function isElement(node){var OwnElement=getWindow(node).Element;return node instanceof OwnElement||node instanceof Element}function isHTMLElement(node){var OwnElement=getWindow(node).HTMLElement;return node instanceof OwnElement||node instanceof HTMLElement}function isShadowRoot(node){if(typeof ShadowRoot=="undefined")return!1;var OwnElement=getWindow(node).ShadowRoot;return node instanceof OwnElement||node instanceof ShadowRoot}function getHTMLElementScroll(element){return{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}}function getNodeScroll(node){return node===getWindow(node)||!isHTMLElement(node)?getWindowScroll(node):getHTMLElementScroll(node)}function getNodeName(element){return element?(element.nodeName||"").toLowerCase():null}function getDocumentElement(element){return((isElement(element)?element.ownerDocument:element.document)||window.document).documentElement}function getWindowScrollBarX(element){return getBoundingClientRect(getDocumentElement(element)).left+getWindowScroll(element).scrollLeft}function getComputedStyle3(element){return getWindow(element).getComputedStyle(element)}function isScrollParent(element){var _getComputedStyle=getComputedStyle3(element),overflow=_getComputedStyle.overflow,overflowX=_getComputedStyle.overflowX,overflowY=_getComputedStyle.overflowY;return/auto|scroll|overlay|hidden/.test(overflow+overflowY+overflowX)}function getCompositeRect(elementOrVirtualElement,offsetParent,isFixed){isFixed===void 0&&(isFixed=!1);var documentElement=getDocumentElement(offsetParent),rect=getBoundingClientRect(elementOrVirtualElement),isOffsetParentAnElement=isHTMLElement(offsetParent),scroll={scrollLeft:0,scrollTop:0},offsets={x:0,y:0};return(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!=="body"||isScrollParent(documentElement))&&(scroll=getNodeScroll(offsetParent)),isHTMLElement(offsetParent)?(offsets=getBoundingClientRect(offsetParent),offsets.x+=offsetParent.clientLeft,offsets.y+=offsetParent.clientTop):documentElement&&(offsets.x=getWindowScrollBarX(documentElement))),{x:rect.left+scroll.scrollLeft-offsets.x,y:rect.top+scroll.scrollTop-offsets.y,width:rect.width,height:rect.height}}function getLayoutRect(element){var clientRect=getBoundingClientRect(element),width=element.offsetWidth,height=element.offsetHeight;return Math.abs(clientRect.width-width)<=1&&(width=clientRect.width),Math.abs(clientRect.height-height)<=1&&(height=clientRect.height),{x:element.offsetLeft,y:element.offsetTop,width,height}}function getParentNode(element){return getNodeName(element)==="html"?element:element.assignedSlot||element.parentNode||(isShadowRoot(element)?element.host:null)||getDocumentElement(element)}function getScrollParent(node){return["html","body","#document"].indexOf(getNodeName(node))>=0?node.ownerDocument.body:isHTMLElement(node)&&isScrollParent(node)?node:getScrollParent(getParentNode(node))}function listScrollParents(element,list){var _element$ownerDocumen;list===void 0&&(list=[]);var scrollParent=getScrollParent(element),isBody=scrollParent===((_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body),win=getWindow(scrollParent),target=isBody?[win].concat(win.visualViewport||[],isScrollParent(scrollParent)?scrollParent:[]):scrollParent,updatedList=list.concat(target);return isBody?updatedList:updatedList.concat(listScrollParents(getParentNode(target)))}function isTableElement(element){return["table","td","th"].indexOf(getNodeName(element))>=0}function getTrueOffsetParent(element){return!isHTMLElement(element)||getComputedStyle3(element).position==="fixed"?null:element.offsetParent}function getContainingBlock(element){var isFirefox=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,isIE=navigator.userAgent.indexOf("Trident")!==-1;if(isIE&&isHTMLElement(element)){var elementCss=getComputedStyle3(element);if(elementCss.position==="fixed")return null}for(var currentNode=getParentNode(element);isHTMLElement(currentNode)&&["html","body"].indexOf(getNodeName(currentNode))<0;){var css=getComputedStyle3(currentNode);if(css.transform!=="none"||css.perspective!=="none"||css.contain==="paint"||["transform","perspective"].indexOf(css.willChange)!==-1||isFirefox&&css.willChange==="filter"||isFirefox&&css.filter&&css.filter!=="none")return currentNode;currentNode=currentNode.parentNode}return null}function getOffsetParent(element){for(var window2=getWindow(element),offsetParent=getTrueOffsetParent(element);offsetParent&&isTableElement(offsetParent)&&getComputedStyle3(offsetParent).position==="static";)offsetParent=getTrueOffsetParent(offsetParent);return offsetParent&&(getNodeName(offsetParent)==="html"||getNodeName(offsetParent)==="body"&&getComputedStyle3(offsetParent).position==="static")?window2:offsetParent||getContainingBlock(element)||window2}var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce(function(acc,placement){return acc.concat([placement+"-"+start,placement+"-"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(acc,placement){return acc.concat([placement,placement+"-"+start,placement+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function order(modifiers){var map3=new Map,visited=new Set,result=[];modifiers.forEach(function(modifier){map3.set(modifier.name,modifier)});function sort(modifier){visited.add(modifier.name);var requires=[].concat(modifier.requires||[],modifier.requiresIfExists||[]);requires.forEach(function(dep){if(!visited.has(dep)){var depModifier=map3.get(dep);depModifier&&sort(depModifier)}}),result.push(modifier)}return modifiers.forEach(function(modifier){visited.has(modifier.name)||sort(modifier)}),result}function orderModifiers(modifiers){var orderedModifiers=order(modifiers);return modifierPhases.reduce(function(acc,phase){return acc.concat(orderedModifiers.filter(function(modifier){return modifier.phase===phase}))},[])}function debounce2(fn){var pending;return function(){return pending||(pending=new Promise(function(resolve2){Promise.resolve().then(function(){pending=void 0,resolve2(fn())})})),pending}}function format(str){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return[].concat(args).reduce(function(p,c){return p.replace(/%s/,c)},str)}var INVALID_MODIFIER_ERROR='Popper: modifier "%s" provided an invalid %s property, expected %s but got %s',MISSING_DEPENDENCY_ERROR='Popper: modifier "%s" requires "%s", but "%s" modifier is not available',VALID_PROPERTIES=["name","enabled","phase","fn","effect","requires","options"];function validateModifiers(modifiers){modifiers.forEach(function(modifier){Object.keys(modifier).forEach(function(key){switch(key){case"name":typeof modifier.name!="string"&&console.error(format(INVALID_MODIFIER_ERROR,String(modifier.name),'"name"','"string"','"'+String(modifier.name)+'"'));break;case"enabled":typeof modifier.enabled!="boolean"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"enabled"','"boolean"','"'+String(modifier.enabled)+'"'));case"phase":modifierPhases.indexOf(modifier.phase)<0&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"phase"',"either "+modifierPhases.join(", "),'"'+String(modifier.phase)+'"'));break;case"fn":typeof modifier.fn!="function"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"fn"','"function"','"'+String(modifier.fn)+'"'));break;case"effect":typeof modifier.effect!="function"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"effect"','"function"','"'+String(modifier.fn)+'"'));break;case"requires":Array.isArray(modifier.requires)||console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"requires"','"array"','"'+String(modifier.requires)+'"'));break;case"requiresIfExists":Array.isArray(modifier.requiresIfExists)||console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"requiresIfExists"','"array"','"'+String(modifier.requiresIfExists)+'"'));break;case"options":case"data":break;default:console.error('PopperJS: an invalid property has been provided to the "'+modifier.name+'" modifier, valid properties are '+VALID_PROPERTIES.map(function(s){return'"'+s+'"'}).join(", ")+'; but "'+key+'" was provided.')}modifier.requires&&modifier.requires.forEach(function(requirement){modifiers.find(function(mod){return mod.name===requirement})==null&&console.error(format(MISSING_DEPENDENCY_ERROR,String(modifier.name),requirement,requirement))})})})}function uniqueBy(arr,fn){var identifiers=new Set;return arr.filter(function(item){var identifier=fn(item);if(!identifiers.has(identifier))return identifiers.add(identifier),!0})}function getBasePlacement(placement){return placement.split("-")[0]}function mergeByName(modifiers){var merged=modifiers.reduce(function(merged2,current){var existing=merged2[current.name];return merged2[current.name]=existing?Object.assign({},existing,current,{options:Object.assign({},existing.options,current.options),data:Object.assign({},existing.data,current.data)}):current,merged2},{});return Object.keys(merged).map(function(key){return merged[key]})}function getViewportRect(element){var win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;return visualViewport&&(width=visualViewport.width,height=visualViewport.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)),{width,height,x:x+getWindowScrollBarX(element),y}}var max=Math.max,min=Math.min,round2=Math.round;function getDocumentRect(element){var _element$ownerDocumen,html=getDocumentElement(element),winScroll=getWindowScroll(element),body=(_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body,width=max(html.scrollWidth,html.clientWidth,body?body.scrollWidth:0,body?body.clientWidth:0),height=max(html.scrollHeight,html.clientHeight,body?body.scrollHeight:0,body?body.clientHeight:0),x=-winScroll.scrollLeft+getWindowScrollBarX(element),y=-winScroll.scrollTop;return getComputedStyle3(body||html).direction==="rtl"&&(x+=max(html.clientWidth,body?body.clientWidth:0)-width),{width,height,x,y}}function contains(parent,child){var rootNode=child.getRootNode&&child.getRootNode();if(parent.contains(child))return!0;if(rootNode&&isShadowRoot(rootNode)){var next=child;do{if(next&&parent.isSameNode(next))return!0;next=next.parentNode||next.host}while(next)}return!1}function rectToClientRect(rect){return Object.assign({},rect,{left:rect.x,top:rect.y,right:rect.x+rect.width,bottom:rect.y+rect.height})}function getInnerBoundingClientRect(element){var rect=getBoundingClientRect(element);return rect.top=rect.top+element.clientTop,rect.left=rect.left+element.clientLeft,rect.bottom=rect.top+element.clientHeight,rect.right=rect.left+element.clientWidth,rect.width=element.clientWidth,rect.height=element.clientHeight,rect.x=rect.left,rect.y=rect.top,rect}function getClientRectFromMixedType(element,clippingParent){return clippingParent===viewport?rectToClientRect(getViewportRect(element)):isHTMLElement(clippingParent)?getInnerBoundingClientRect(clippingParent):rectToClientRect(getDocumentRect(getDocumentElement(element)))}function getClippingParents(element){var clippingParents2=listScrollParents(getParentNode(element)),canEscapeClipping=["absolute","fixed"].indexOf(getComputedStyle3(element).position)>=0,clipperElement=canEscapeClipping&&isHTMLElement(element)?getOffsetParent(element):element;return isElement(clipperElement)?clippingParents2.filter(function(clippingParent){return isElement(clippingParent)&&contains(clippingParent,clipperElement)&&getNodeName(clippingParent)!=="body"}):[]}function getClippingRect(element,boundary,rootBoundary){var mainClippingParents=boundary==="clippingParents"?getClippingParents(element):[].concat(boundary),clippingParents2=[].concat(mainClippingParents,[rootBoundary]),firstClippingParent=clippingParents2[0],clippingRect=clippingParents2.reduce(function(accRect,clippingParent){var rect=getClientRectFromMixedType(element,clippingParent);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromMixedType(element,firstClippingParent));return clippingRect.width=clippingRect.right-clippingRect.left,clippingRect.height=clippingRect.bottom-clippingRect.top,clippingRect.x=clippingRect.left,clippingRect.y=clippingRect.top,clippingRect}function getVariation(placement){return placement.split("-")[1]}function getMainAxisFromPlacement(placement){return["top","bottom"].indexOf(placement)>=0?"x":"y"}function computeOffsets(_ref){var reference2=_ref.reference,element=_ref.element,placement=_ref.placement,basePlacement=placement?getBasePlacement(placement):null,variation=placement?getVariation(placement):null,commonX=reference2.x+reference2.width/2-element.width/2,commonY=reference2.y+reference2.height/2-element.height/2,offsets;switch(basePlacement){case top:offsets={x:commonX,y:reference2.y-element.height};break;case bottom:offsets={x:commonX,y:reference2.y+reference2.height};break;case right:offsets={x:reference2.x+reference2.width,y:commonY};break;case left:offsets={x:reference2.x-element.width,y:commonY};break;default:offsets={x:reference2.x,y:reference2.y}}var mainAxis=basePlacement?getMainAxisFromPlacement(basePlacement):null;if(mainAxis!=null){var len=mainAxis==="y"?"height":"width";switch(variation){case start:offsets[mainAxis]=offsets[mainAxis]-(reference2[len]/2-element[len]/2);break;case end:offsets[mainAxis]=offsets[mainAxis]+(reference2[len]/2-element[len]/2);break}}return offsets}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(paddingObject){return Object.assign({},getFreshSideObject(),paddingObject)}function expandToHashMap(value,keys){return keys.reduce(function(hashMap,key){return hashMap[key]=value,hashMap},{})}function detectOverflow(state,options){options===void 0&&(options={});var _options=options,_options$placement=_options.placement,placement=_options$placement===void 0?state.placement:_options$placement,_options$boundary=_options.boundary,boundary=_options$boundary===void 0?clippingParents:_options$boundary,_options$rootBoundary=_options.rootBoundary,rootBoundary=_options$rootBoundary===void 0?viewport:_options$rootBoundary,_options$elementConte=_options.elementContext,elementContext=_options$elementConte===void 0?popper:_options$elementConte,_options$altBoundary=_options.altBoundary,altBoundary=_options$altBoundary===void 0?!1:_options$altBoundary,_options$padding=_options.padding,padding=_options$padding===void 0?0:_options$padding,paddingObject=mergePaddingObject(typeof padding!="number"?padding:expandToHashMap(padding,basePlacements)),altContext=elementContext===popper?reference:popper,referenceElement=state.elements.reference,popperRect=state.rects.popper,element=state.elements[altBoundary?altContext:elementContext],clippingClientRect=getClippingRect(isElement(element)?element:element.contextElement||getDocumentElement(state.elements.popper),boundary,rootBoundary),referenceClientRect=getBoundingClientRect(referenceElement),popperOffsets2=computeOffsets({reference:referenceClientRect,element:popperRect,strategy:"absolute",placement}),popperClientRect=rectToClientRect(Object.assign({},popperRect,popperOffsets2)),elementClientRect=elementContext===popper?popperClientRect:referenceClientRect,overflowOffsets={top:clippingClientRect.top-elementClientRect.top+paddingObject.top,bottom:elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom,left:clippingClientRect.left-elementClientRect.left+paddingObject.left,right:elementClientRect.right-clippingClientRect.right+paddingObject.right},offsetData=state.modifiersData.offset;if(elementContext===popper&&offsetData){var offset2=offsetData[placement];Object.keys(overflowOffsets).forEach(function(key){var multiply=[right,bottom].indexOf(key)>=0?1:-1,axis=[top,bottom].indexOf(key)>=0?"y":"x";overflowOffsets[key]+=offset2[axis]*multiply})}return overflowOffsets}var INVALID_ELEMENT_ERROR="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",INFINITE_LOOP_ERROR="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return!args.some(function(element){return!(element&&typeof element.getBoundingClientRect=="function")})}function popperGenerator(generatorOptions){generatorOptions===void 0&&(generatorOptions={});var _generatorOptions=generatorOptions,_generatorOptions$def=_generatorOptions.defaultModifiers,defaultModifiers2=_generatorOptions$def===void 0?[]:_generatorOptions$def,_generatorOptions$def2=_generatorOptions.defaultOptions,defaultOptions=_generatorOptions$def2===void 0?DEFAULT_OPTIONS:_generatorOptions$def2;return function(reference2,popper2,options){options===void 0&&(options=defaultOptions);var state={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,defaultOptions),modifiersData:{},elements:{reference:reference2,popper:popper2},attributes:{},styles:{}},effectCleanupFns=[],isDestroyed=!1,instance={state,setOptions:function(options2){cleanupModifierEffects(),state.options=Object.assign({},defaultOptions,state.options,options2),state.scrollParents={reference:isElement(reference2)?listScrollParents(reference2):reference2.contextElement?listScrollParents(reference2.contextElement):[],popper:listScrollParents(popper2)};var orderedModifiers=orderModifiers(mergeByName([].concat(defaultModifiers2,state.options.modifiers)));state.orderedModifiers=orderedModifiers.filter(function(m){return m.enabled});var modifiers=uniqueBy([].concat(orderedModifiers,state.options.modifiers),function(_ref){var name=_ref.name;return name});if(validateModifiers(modifiers),getBasePlacement(state.options.placement)===auto){var flipModifier=state.orderedModifiers.find(function(_ref2){var name=_ref2.name;return name==="flip"});flipModifier||console.error(['Popper: "auto" placements require the "flip" modifier be',"present and enabled to work."].join(" "))}var _getComputedStyle=getComputedStyle3(popper2),marginTop=_getComputedStyle.marginTop,marginRight=_getComputedStyle.marginRight,marginBottom=_getComputedStyle.marginBottom,marginLeft=_getComputedStyle.marginLeft;return[marginTop,marginRight,marginBottom,marginLeft].some(function(margin){return parseFloat(margin)})&&console.warn(['Popper: CSS "margin" styles cannot be used to apply padding',"between the popper and its reference element or boundary.","To replicate margin, use the `offset` modifier, as well as","the `padding` option in the `preventOverflow` and `flip`","modifiers."].join(" ")),runModifierEffects(),instance.update()},forceUpdate:function(){if(!isDestroyed){var _state$elements=state.elements,reference3=_state$elements.reference,popper3=_state$elements.popper;if(!areValidElements(reference3,popper3)){console.error(INVALID_ELEMENT_ERROR);return}state.rects={reference:getCompositeRect(reference3,getOffsetParent(popper3),state.options.strategy==="fixed"),popper:getLayoutRect(popper3)},state.reset=!1,state.placement=state.options.placement,state.orderedModifiers.forEach(function(modifier){return state.modifiersData[modifier.name]=Object.assign({},modifier.data)});for(var __debug_loops__=0,index2=0;index2100){console.error(INFINITE_LOOP_ERROR);break}if(state.reset===!0){state.reset=!1,index2=-1;continue}var _state$orderedModifie=state.orderedModifiers[index2],fn=_state$orderedModifie.fn,_state$orderedModifie2=_state$orderedModifie.options,_options=_state$orderedModifie2===void 0?{}:_state$orderedModifie2,name=_state$orderedModifie.name;typeof fn=="function"&&(state=fn({state,options:_options,name,instance})||state)}}},update:debounce2(function(){return new Promise(function(resolve2){instance.forceUpdate(),resolve2(state)})}),destroy:function(){cleanupModifierEffects(),isDestroyed=!0}};if(!areValidElements(reference2,popper2))return console.error(INVALID_ELEMENT_ERROR),instance;instance.setOptions(options).then(function(state2){!isDestroyed&&options.onFirstUpdate&&options.onFirstUpdate(state2)});function runModifierEffects(){state.orderedModifiers.forEach(function(_ref3){var name=_ref3.name,_ref3$options=_ref3.options,options2=_ref3$options===void 0?{}:_ref3$options,effect2=_ref3.effect;if(typeof effect2=="function"){var cleanupFn=effect2({state,name,instance,options:options2}),noopFn=function(){};effectCleanupFns.push(cleanupFn||noopFn)}})}function cleanupModifierEffects(){effectCleanupFns.forEach(function(fn){return fn()}),effectCleanupFns=[]}return instance}}var passive={passive:!0};function effect$2(_ref){var state=_ref.state,instance=_ref.instance,options=_ref.options,_options$scroll=options.scroll,scroll=_options$scroll===void 0?!0:_options$scroll,_options$resize=options.resize,resize=_options$resize===void 0?!0:_options$resize,window2=getWindow(state.elements.popper),scrollParents=[].concat(state.scrollParents.reference,state.scrollParents.popper);return scroll&&scrollParents.forEach(function(scrollParent){scrollParent.addEventListener("scroll",instance.update,passive)}),resize&&window2.addEventListener("resize",instance.update,passive),function(){scroll&&scrollParents.forEach(function(scrollParent){scrollParent.removeEventListener("scroll",instance.update,passive)}),resize&&window2.removeEventListener("resize",instance.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect$2,data:{}};function popperOffsets(_ref){var state=_ref.state,name=_ref.name;state.modifiersData[name]=computeOffsets({reference:state.rects.reference,element:state.rects.popper,strategy:"absolute",placement:state.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}},unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(_ref){var x=_ref.x,y=_ref.y,win=window,dpr=win.devicePixelRatio||1;return{x:round2(round2(x*dpr)/dpr)||0,y:round2(round2(y*dpr)/dpr)||0}}function mapToStyles(_ref2){var _Object$assign2,popper2=_ref2.popper,popperRect=_ref2.popperRect,placement=_ref2.placement,offsets=_ref2.offsets,position=_ref2.position,gpuAcceleration=_ref2.gpuAcceleration,adaptive=_ref2.adaptive,roundOffsets=_ref2.roundOffsets,_ref3=roundOffsets===!0?roundOffsetsByDPR(offsets):typeof roundOffsets=="function"?roundOffsets(offsets):offsets,_ref3$x=_ref3.x,x=_ref3$x===void 0?0:_ref3$x,_ref3$y=_ref3.y,y=_ref3$y===void 0?0:_ref3$y,hasX=offsets.hasOwnProperty("x"),hasY=offsets.hasOwnProperty("y"),sideX=left,sideY=top,win=window;if(adaptive){var offsetParent=getOffsetParent(popper2),heightProp="clientHeight",widthProp="clientWidth";offsetParent===getWindow(popper2)&&(offsetParent=getDocumentElement(popper2),getComputedStyle3(offsetParent).position!=="static"&&(heightProp="scrollHeight",widthProp="scrollWidth")),offsetParent=offsetParent,placement===top&&(sideY=bottom,y-=offsetParent[heightProp]-popperRect.height,y*=gpuAcceleration?1:-1),placement===left&&(sideX=right,x-=offsetParent[widthProp]-popperRect.width,x*=gpuAcceleration?1:-1)}var commonStyles=Object.assign({position},adaptive&&unsetSides);if(gpuAcceleration){var _Object$assign;return Object.assign({},commonStyles,(_Object$assign={},_Object$assign[sideY]=hasY?"0":"",_Object$assign[sideX]=hasX?"0":"",_Object$assign.transform=(win.devicePixelRatio||1)<2?"translate("+x+"px, "+y+"px)":"translate3d("+x+"px, "+y+"px, 0)",_Object$assign))}return Object.assign({},commonStyles,(_Object$assign2={},_Object$assign2[sideY]=hasY?y+"px":"",_Object$assign2[sideX]=hasX?x+"px":"",_Object$assign2.transform="",_Object$assign2))}function computeStyles(_ref4){var state=_ref4.state,options=_ref4.options,_options$gpuAccelerat=options.gpuAcceleration,gpuAcceleration=_options$gpuAccelerat===void 0?!0:_options$gpuAccelerat,_options$adaptive=options.adaptive,adaptive=_options$adaptive===void 0?!0:_options$adaptive,_options$roundOffsets=options.roundOffsets,roundOffsets=_options$roundOffsets===void 0?!0:_options$roundOffsets,transitionProperty=getComputedStyle3(state.elements.popper).transitionProperty||"";adaptive&&["transform","top","right","bottom","left"].some(function(property){return transitionProperty.indexOf(property)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` +(()=>{function src_default(Alpine){Alpine.directive("collapse",collapse),collapse.inline=(el,{modifiers})=>{!modifiers.includes("min")||(el._x_doShow=()=>{},el._x_doHide=()=>{})};function collapse(el,{modifiers}){let duration=modifierValue(modifiers,"duration",250)/1e3,floor=modifierValue(modifiers,"min",0),fullyHide=!modifiers.includes("min");el._x_isShown||(el.style.height=`${floor}px`),!el._x_isShown&&fullyHide&&(el.hidden=!0),el._x_isShown||(el.style.overflow="hidden");let setFunction=(el2,styles)=>{let revertFunction=Alpine.setStyles(el2,styles);return styles.height?()=>{}:revertFunction},transitionStyles={transitionProperty:"height",transitionDuration:`${duration}s`,transitionTimingFunction:"cubic-bezier(0.4, 0.0, 0.2, 1)"};el._x_transition={in(before=()=>{},after=()=>{}){fullyHide&&(el.hidden=!1),fullyHide&&(el.style.display=null);let current=el.getBoundingClientRect().height;el.style.height="auto";let full=el.getBoundingClientRect().height;current===full&&(current=floor),Alpine.transition(el,Alpine.setStyles,{during:transitionStyles,start:{height:current+"px"},end:{height:full+"px"}},()=>el._x_isShown=!0,()=>{el.style.height==`${full}px`&&(el.style.overflow=null)})},out(before=()=>{},after=()=>{}){let full=el.getBoundingClientRect().height;Alpine.transition(el,setFunction,{during:transitionStyles,start:{height:full+"px"},end:{height:floor+"px"}},()=>el.style.overflow="hidden",()=>{el._x_isShown=!1,el.style.height==`${floor}px`&&fullyHide&&(el.style.display="none",el.hidden=!0)})}}}}function modifierValue(modifiers,key,fallback){if(modifiers.indexOf(key)===-1)return fallback;let rawValue=modifiers[modifiers.indexOf(key)+1];if(!rawValue)return fallback;if(key==="duration"){let match=rawValue.match(/([0-9]+)ms/);if(match)return match[1]}if(key==="min"){let match=rawValue.match(/([0-9]+)px/);if(match)return match[1]}return rawValue}var module_default=src_default;var candidateSelectors=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details"],candidateSelector=candidateSelectors.join(","),matches=typeof Element=="undefined"?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,getCandidates=function(el,includeContainer,filter){var candidates=Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));return includeContainer&&matches.call(el,candidateSelector)&&candidates.unshift(el),candidates=candidates.filter(filter),candidates},isContentEditable=function(node){return node.contentEditable==="true"},getTabindex=function(node){var tabindexAttr=parseInt(node.getAttribute("tabindex"),10);return isNaN(tabindexAttr)?isContentEditable(node)||(node.nodeName==="AUDIO"||node.nodeName==="VIDEO"||node.nodeName==="DETAILS")&&node.getAttribute("tabindex")===null?0:node.tabIndex:tabindexAttr},sortOrderedTabbables=function(a,b){return a.tabIndex===b.tabIndex?a.documentOrder-b.documentOrder:a.tabIndex-b.tabIndex},isInput=function(node){return node.tagName==="INPUT"},isHiddenInput=function(node){return isInput(node)&&node.type==="hidden"},isDetailsWithSummary=function(node){var r=node.tagName==="DETAILS"&&Array.prototype.slice.apply(node.children).some(function(child){return child.tagName==="SUMMARY"});return r},getCheckedRadio=function(nodes,form){for(var i=0;isummary:first-of-type"),nodeUnderDetails=isDirectSummary?node.parentElement:node;if(matches.call(nodeUnderDetails,"details:not([open]) *"))return!0;if(!displayCheck||displayCheck==="full")for(;node;){if(getComputedStyle(node).display==="none")return!0;node=node.parentElement}else if(displayCheck==="non-zero-area"){var _node$getBoundingClie=node.getBoundingClientRect(),width=_node$getBoundingClie.width,height=_node$getBoundingClie.height;return width===0&&height===0}return!1},isDisabledFromFieldset=function(node){if(isInput(node)||node.tagName==="SELECT"||node.tagName==="TEXTAREA"||node.tagName==="BUTTON")for(var parentNode=node.parentElement;parentNode;){if(parentNode.tagName==="FIELDSET"&&parentNode.disabled){for(var i=0;i0){var activeTrap=trapQueue[trapQueue.length-1];activeTrap!==trap&&activeTrap.pause()}var trapIndex=trapQueue.indexOf(trap);trapIndex===-1||trapQueue.splice(trapIndex,1),trapQueue.push(trap)},deactivateTrap:function(trap){var trapIndex=trapQueue.indexOf(trap);trapIndex!==-1&&trapQueue.splice(trapIndex,1),trapQueue.length>0&&trapQueue[trapQueue.length-1].unpause()}}}(),isSelectableInput=function(node){return node.tagName&&node.tagName.toLowerCase()==="input"&&typeof node.select=="function"},isEscapeEvent=function(e){return e.key==="Escape"||e.key==="Esc"||e.keyCode===27},isTabEvent=function(e){return e.key==="Tab"||e.keyCode===9},delay=function(fn){return setTimeout(fn,0)},findIndex=function(arr,fn){var idx=-1;return arr.every(function(value,i){return fn(value)?(idx=i,!1):!0}),idx},valueOrHandler=function(value){for(var _len=arguments.length,params=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)params[_key-1]=arguments[_key];return typeof value=="function"?value.apply(void 0,params):value},createFocusTrap=function(elements,userOptions){var doc=document,config=_objectSpread2({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0},userOptions),state={containers:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,delayInitialFocusTimer:void 0},trap,getOption=function(configOverrideOptions,optionName,configOptionName){return configOverrideOptions&&configOverrideOptions[optionName]!==void 0?configOverrideOptions[optionName]:config[configOptionName||optionName]},containersContain=function(element){return state.containers.some(function(container){return container.contains(element)})},getNodeForOption=function(optionName){var optionValue=config[optionName];if(!optionValue)return null;var node=optionValue;if(typeof optionValue=="string"&&(node=doc.querySelector(optionValue),!node))throw new Error("`".concat(optionName,"` refers to no known node"));if(typeof optionValue=="function"&&(node=optionValue(),!node))throw new Error("`".concat(optionName,"` did not return a node"));return node},getInitialFocusNode=function(){var node;if(getOption({},"initialFocus")===!1)return!1;if(getNodeForOption("initialFocus")!==null)node=getNodeForOption("initialFocus");else if(containersContain(doc.activeElement))node=doc.activeElement;else{var firstTabbableGroup=state.tabbableGroups[0],firstTabbableNode=firstTabbableGroup&&firstTabbableGroup.firstTabbableNode;node=firstTabbableNode||getNodeForOption("fallbackFocus")}if(!node)throw new Error("Your focus-trap needs to have at least one focusable element");return node},updateTabbableNodes=function(){if(state.tabbableGroups=state.containers.map(function(container){var tabbableNodes=tabbable(container);if(tabbableNodes.length>0)return{container,firstTabbableNode:tabbableNodes[0],lastTabbableNode:tabbableNodes[tabbableNodes.length-1]}}).filter(function(group){return!!group}),state.tabbableGroups.length<=0&&!getNodeForOption("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times")},tryFocus=function tryFocus2(node){if(node!==!1&&node!==doc.activeElement){if(!node||!node.focus){tryFocus2(getInitialFocusNode());return}node.focus({preventScroll:!!config.preventScroll}),state.mostRecentlyFocusedNode=node,isSelectableInput(node)&&node.select()}},getReturnFocusNode=function(previousActiveElement){var node=getNodeForOption("setReturnFocus");return node||previousActiveElement},checkPointerDown=function(e){if(!containersContain(e.target)){if(valueOrHandler(config.clickOutsideDeactivates,e)){trap.deactivate({returnFocus:config.returnFocusOnDeactivate&&!isFocusable(e.target)});return}valueOrHandler(config.allowOutsideClick,e)||e.preventDefault()}},checkFocusIn=function(e){var targetContained=containersContain(e.target);targetContained||e.target instanceof Document?targetContained&&(state.mostRecentlyFocusedNode=e.target):(e.stopImmediatePropagation(),tryFocus(state.mostRecentlyFocusedNode||getInitialFocusNode()))},checkTab=function(e){updateTabbableNodes();var destinationNode=null;if(state.tabbableGroups.length>0){var containerIndex=findIndex(state.tabbableGroups,function(_ref){var container=_ref.container;return container.contains(e.target)});if(containerIndex<0)e.shiftKey?destinationNode=state.tabbableGroups[state.tabbableGroups.length-1].lastTabbableNode:destinationNode=state.tabbableGroups[0].firstTabbableNode;else if(e.shiftKey){var startOfGroupIndex=findIndex(state.tabbableGroups,function(_ref2){var firstTabbableNode=_ref2.firstTabbableNode;return e.target===firstTabbableNode});if(startOfGroupIndex<0&&state.tabbableGroups[containerIndex].container===e.target&&(startOfGroupIndex=containerIndex),startOfGroupIndex>=0){var destinationGroupIndex=startOfGroupIndex===0?state.tabbableGroups.length-1:startOfGroupIndex-1,destinationGroup=state.tabbableGroups[destinationGroupIndex];destinationNode=destinationGroup.lastTabbableNode}}else{var lastOfGroupIndex=findIndex(state.tabbableGroups,function(_ref3){var lastTabbableNode=_ref3.lastTabbableNode;return e.target===lastTabbableNode});if(lastOfGroupIndex<0&&state.tabbableGroups[containerIndex].container===e.target&&(lastOfGroupIndex=containerIndex),lastOfGroupIndex>=0){var _destinationGroupIndex=lastOfGroupIndex===state.tabbableGroups.length-1?0:lastOfGroupIndex+1,_destinationGroup=state.tabbableGroups[_destinationGroupIndex];destinationNode=_destinationGroup.firstTabbableNode}}}else destinationNode=getNodeForOption("fallbackFocus");destinationNode&&(e.preventDefault(),tryFocus(destinationNode))},checkKey=function(e){if(isEscapeEvent(e)&&valueOrHandler(config.escapeDeactivates)!==!1){e.preventDefault(),trap.deactivate();return}if(isTabEvent(e)){checkTab(e);return}},checkClick=function(e){valueOrHandler(config.clickOutsideDeactivates,e)||containersContain(e.target)||valueOrHandler(config.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},addListeners=function(){if(!!state.active)return activeFocusTraps.activateTrap(trap),state.delayInitialFocusTimer=config.delayInitialFocus?delay(function(){tryFocus(getInitialFocusNode())}):tryFocus(getInitialFocusNode()),doc.addEventListener("focusin",checkFocusIn,!0),doc.addEventListener("mousedown",checkPointerDown,{capture:!0,passive:!1}),doc.addEventListener("touchstart",checkPointerDown,{capture:!0,passive:!1}),doc.addEventListener("click",checkClick,{capture:!0,passive:!1}),doc.addEventListener("keydown",checkKey,{capture:!0,passive:!1}),trap},removeListeners=function(){if(!!state.active)return doc.removeEventListener("focusin",checkFocusIn,!0),doc.removeEventListener("mousedown",checkPointerDown,!0),doc.removeEventListener("touchstart",checkPointerDown,!0),doc.removeEventListener("click",checkClick,!0),doc.removeEventListener("keydown",checkKey,!0),trap};return trap={activate:function(activateOptions){if(state.active)return this;var onActivate=getOption(activateOptions,"onActivate"),onPostActivate=getOption(activateOptions,"onPostActivate"),checkCanFocusTrap=getOption(activateOptions,"checkCanFocusTrap");checkCanFocusTrap||updateTabbableNodes(),state.active=!0,state.paused=!1,state.nodeFocusedBeforeActivation=doc.activeElement,onActivate&&onActivate();var finishActivation=function(){checkCanFocusTrap&&updateTabbableNodes(),addListeners(),onPostActivate&&onPostActivate()};return checkCanFocusTrap?(checkCanFocusTrap(state.containers.concat()).then(finishActivation,finishActivation),this):(finishActivation(),this)},deactivate:function(deactivateOptions){if(!state.active)return this;clearTimeout(state.delayInitialFocusTimer),state.delayInitialFocusTimer=void 0,removeListeners(),state.active=!1,state.paused=!1,activeFocusTraps.deactivateTrap(trap);var onDeactivate=getOption(deactivateOptions,"onDeactivate"),onPostDeactivate=getOption(deactivateOptions,"onPostDeactivate"),checkCanReturnFocus=getOption(deactivateOptions,"checkCanReturnFocus");onDeactivate&&onDeactivate();var returnFocus=getOption(deactivateOptions,"returnFocus","returnFocusOnDeactivate"),finishDeactivation=function(){delay(function(){returnFocus&&tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)),onPostDeactivate&&onPostDeactivate()})};return returnFocus&&checkCanReturnFocus?(checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation,finishDeactivation),this):(finishDeactivation(),this)},pause:function(){return state.paused||!state.active?this:(state.paused=!0,removeListeners(),this)},unpause:function(){return!state.paused||!state.active?this:(state.paused=!1,updateTabbableNodes(),addListeners(),this)},updateContainerElements:function(containerElements){var elementsAsArray=[].concat(containerElements).filter(Boolean);return state.containers=elementsAsArray.map(function(element){return typeof element=="string"?doc.querySelector(element):element}),state.active&&updateTabbableNodes(),this}},trap.updateContainerElements(elements),trap};function src_default2(Alpine){let lastFocused,currentFocused;window.addEventListener("focusin",()=>{lastFocused=currentFocused,currentFocused=document.activeElement}),Alpine.magic("focus",el=>{let within=el;return{__noscroll:!1,__wrapAround:!1,within(el2){return within=el2,this},withoutScrolling(){return this.__noscroll=!0,this},noscroll(){return this.__noscroll=!0,this},withWrapAround(){return this.__wrapAround=!0,this},wrap(){return this.withWrapAround()},focusable(el2){return isFocusable(el2)},previouslyFocused(){return lastFocused},lastFocused(){return lastFocused},focused(){return currentFocused},focusables(){return Array.isArray(within)?within:focusable(within,{displayCheck:"none"})},all(){return this.focusables()},isFirst(el2){let els=this.all();return els[0]&&els[0].isSameNode(el2)},isLast(el2){let els=this.all();return els.length&&els.slice(-1)[0].isSameNode(el2)},getFirst(){return this.all()[0]},getLast(){return this.all().slice(-1)[0]},getNext(){let list=this.all(),current=document.activeElement;if(list.indexOf(current)!==-1)return this.__wrapAround&&list.indexOf(current)===list.length-1?list[0]:list[list.indexOf(current)+1]},getPrevious(){let list=this.all(),current=document.activeElement;if(list.indexOf(current)!==-1)return this.__wrapAround&&list.indexOf(current)===0?list.slice(-1)[0]:list[list.indexOf(current)-1]},first(){this.focus(this.getFirst())},last(){this.focus(this.getLast())},next(){this.focus(this.getNext())},previous(){this.focus(this.getPrevious())},prev(){return this.previous()},focus(el2){!el2||setTimeout(()=>{el2.hasAttribute("tabindex")||el2.setAttribute("tabindex","0"),el2.focus({preventScroll:this._noscroll})})}}}),Alpine.directive("trap",Alpine.skipDuringClone((el,{expression,modifiers},{effect,evaluateLater,cleanup})=>{let evaluator=evaluateLater(expression),oldValue=!1,trap=createFocusTrap(el,{escapeDeactivates:!1,allowOutsideClick:!0,fallbackFocus:()=>el,initialFocus:el.querySelector("[autofocus]")}),undoInert=()=>{},undoDisableScrolling=()=>{},releaseFocus=()=>{undoInert(),undoInert=()=>{},undoDisableScrolling(),undoDisableScrolling=()=>{},trap.deactivate({returnFocus:!modifiers.includes("noreturn")})};effect(()=>evaluator(value=>{oldValue!==value&&(value&&!oldValue&&setTimeout(()=>{modifiers.includes("inert")&&(undoInert=setInert(el)),modifiers.includes("noscroll")&&(undoDisableScrolling=disableScrolling()),trap.activate()}),!value&&oldValue&&releaseFocus(),oldValue=!!value)})),cleanup(releaseFocus)},(el,{expression,modifiers},{evaluate})=>{modifiers.includes("inert")&&evaluate(expression)&&setInert(el)}))}function setInert(el){let undos=[];return crawlSiblingsUp(el,sibling=>{let cache=sibling.hasAttribute("aria-hidden");sibling.setAttribute("aria-hidden","true"),undos.push(()=>cache||sibling.removeAttribute("aria-hidden"))}),()=>{for(;undos.length;)undos.pop()()}}function crawlSiblingsUp(el,callback){el.isSameNode(document.body)||!el.parentNode||Array.from(el.parentNode.children).forEach(sibling=>{sibling.isSameNode(el)||callback(sibling),crawlSiblingsUp(el.parentNode,callback)})}function disableScrolling(){let overflow=document.documentElement.style.overflow,paddingRight=document.documentElement.style.paddingRight,scrollbarWidth=window.innerWidth-document.documentElement.clientWidth;return document.documentElement.style.overflow="hidden",document.documentElement.style.paddingRight=`${scrollbarWidth}px`,()=>{document.documentElement.style.overflow=overflow,document.documentElement.style.paddingRight=paddingRight}}var module_default2=src_default2;var __create=Object.create,__defProp=Object.defineProperty,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__getOwnPropNames=Object.getOwnPropertyNames,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__markAsModule=target=>__defProp(target,"__esModule",{value:!0}),__commonJS=(callback,module)=>()=>(module||(module={exports:{}},callback(module.exports,module)),module.exports),__exportStar=(target,module,desc)=>{if(module&&typeof module=="object"||typeof module=="function")for(let key of __getOwnPropNames(module))!__hasOwnProp.call(target,key)&&key!=="default"&&__defProp(target,key,{get:()=>module[key],enumerable:!(desc=__getOwnPropDesc(module,key))||desc.enumerable});return target},__toModule=module=>__exportStar(__markAsModule(__defProp(module!=null?__create(__getProtoOf(module)):{},"default",module&&module.__esModule&&"default"in module?{get:()=>module.default,enumerable:!0}:{value:module,enumerable:!0})),module),require_mousetrap=__commonJS((exports,module)=>{(function(window2,document2,undefined2){if(!window2)return;for(var _MAP={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},_KEYCODE_MAP={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},_SHIFT_MAP={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},_SPECIAL_ALIASES={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},_REVERSE_MAP,i=1;i<20;++i)_MAP[111+i]="f"+i;for(i=0;i<=9;++i)_MAP[i+96]=i.toString();function _addEvent(object,type,callback){if(object.addEventListener){object.addEventListener(type,callback,!1);return}object.attachEvent("on"+type,callback)}function _characterFromEvent(e){if(e.type=="keypress"){var character=String.fromCharCode(e.which);return e.shiftKey||(character=character.toLowerCase()),character}return _MAP[e.which]?_MAP[e.which]:_KEYCODE_MAP[e.which]?_KEYCODE_MAP[e.which]:String.fromCharCode(e.which).toLowerCase()}function _modifiersMatch(modifiers1,modifiers2){return modifiers1.sort().join(",")===modifiers2.sort().join(",")}function _eventModifiers(e){var modifiers=[];return e.shiftKey&&modifiers.push("shift"),e.altKey&&modifiers.push("alt"),e.ctrlKey&&modifiers.push("ctrl"),e.metaKey&&modifiers.push("meta"),modifiers}function _preventDefault(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function _stopPropagation(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function _isModifier(key){return key=="shift"||key=="ctrl"||key=="alt"||key=="meta"}function _getReverseMap(){if(!_REVERSE_MAP){_REVERSE_MAP={};for(var key in _MAP)key>95&&key<112||_MAP.hasOwnProperty(key)&&(_REVERSE_MAP[_MAP[key]]=key)}return _REVERSE_MAP}function _pickBestAction(key,modifiers,action){return action||(action=_getReverseMap()[key]?"keydown":"keypress"),action=="keypress"&&modifiers.length&&(action="keydown"),action}function _keysFromString(combination){return combination==="+"?["+"]:(combination=combination.replace(/\+{2}/g,"+plus"),combination.split("+"))}function _getKeyInfo(combination,action){var keys,key,i2,modifiers=[];for(keys=_keysFromString(combination),i2=0;i21){_bindSequence(combination,sequence,callback,action);return}info=_getKeyInfo(combination,action),self._callbacks[info.key]=self._callbacks[info.key]||[],_getMatches(info.key,info.modifiers,{type:info.action},sequenceName,combination,level),self._callbacks[info.key][sequenceName?"unshift":"push"]({callback,modifiers:info.modifiers,action:info.action,seq:sequenceName,level,combo:combination})}self._bindMultiple=function(combinations,callback,action){for(var i2=0;i2-1||_belongsTo(element,self.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var initialEventTarget=e.composedPath()[0];initialEventTarget!==e.target&&(element=initialEventTarget)}return element.tagName=="INPUT"||element.tagName=="SELECT"||element.tagName=="TEXTAREA"||element.isContentEditable},Mousetrap3.prototype.handleKey=function(){var self=this;return self._handleKey.apply(self,arguments)},Mousetrap3.addKeycodes=function(object){for(var key in object)object.hasOwnProperty(key)&&(_MAP[key]=object[key]);_REVERSE_MAP=null},Mousetrap3.init=function(){var documentMousetrap=Mousetrap3(document2);for(var method in documentMousetrap)method.charAt(0)!=="_"&&(Mousetrap3[method]=function(method2){return function(){return documentMousetrap[method2].apply(documentMousetrap,arguments)}}(method))},Mousetrap3.init(),window2.Mousetrap=Mousetrap3,typeof module!="undefined"&&module.exports&&(module.exports=Mousetrap3),typeof define=="function"&&define.amd&&define(function(){return Mousetrap3})})(typeof window!="undefined"?window:null,typeof window!="undefined"?document:null)}),import_mousetrap=__toModule(require_mousetrap());(function(Mousetrap3){if(!!Mousetrap3){var _globalCallbacks={},_originalStopCallback=Mousetrap3.prototype.stopCallback;Mousetrap3.prototype.stopCallback=function(e,element,combo,sequence){var self=this;return self.paused?!0:_globalCallbacks[combo]||_globalCallbacks[sequence]?!1:_originalStopCallback.call(self,e,element,combo)},Mousetrap3.prototype.bindGlobal=function(keys,callback,action){var self=this;if(self.bind(keys,callback,action),keys instanceof Array){for(var i=0;i{Alpine.directive("mousetrap",(el,{modifiers,expression},{evaluate})=>{let action=()=>expression?evaluate(expression):el.click();modifiers=modifiers.map(modifier=>modifier.replace("-","+")),modifiers.includes("global")&&(modifiers=modifiers.filter(modifier=>modifier!=="global"),import_mousetrap.default.bindGlobal(modifiers,$event=>{$event.preventDefault(),action()})),import_mousetrap.default.bind(modifiers,$event=>{$event.preventDefault(),action()})})},module_default3=src_default3;function src_default4(Alpine){let persist=()=>{let alias,storage=localStorage;return Alpine.interceptor((initialValue,getter,setter,path,key)=>{let lookup=alias||`_x_${path}`,initial=storageHas(lookup,storage)?storageGet(lookup,storage):initialValue;return setter(initial),Alpine.effect(()=>{let value=getter();storageSet(lookup,value,storage),setter(value)}),initial},func=>{func.as=key=>(alias=key,func),func.using=target=>(storage=target,func)})};Object.defineProperty(Alpine,"$persist",{get:()=>persist()}),Alpine.magic("persist",persist)}function storageHas(key,storage){return storage.getItem(key)!==null}function storageGet(key,storage){return JSON.parse(storage.getItem(key,storage))}function storageSet(key,value,storage){storage.setItem(key,JSON.stringify(value))}var module_default4=src_default4;var __create2=Object.create,__defProp2=Object.defineProperty,__getProtoOf2=Object.getPrototypeOf,__hasOwnProp2=Object.prototype.hasOwnProperty,__getOwnPropNames2=Object.getOwnPropertyNames,__getOwnPropDesc2=Object.getOwnPropertyDescriptor,__markAsModule2=target=>__defProp2(target,"__esModule",{value:!0}),__commonJS2=(callback,module)=>()=>(module||(module={exports:{}},callback(module.exports,module)),module.exports),__exportStar2=(target,module,desc)=>{if(module&&typeof module=="object"||typeof module=="function")for(let key of __getOwnPropNames2(module))!__hasOwnProp2.call(target,key)&&key!=="default"&&__defProp2(target,key,{get:()=>module[key],enumerable:!(desc=__getOwnPropDesc2(module,key))||desc.enumerable});return target},__toModule2=module=>__exportStar2(__markAsModule2(__defProp2(module!=null?__create2(__getProtoOf2(module)):{},"default",module&&module.__esModule&&"default"in module?{get:()=>module.default,enumerable:!0}:{value:module,enumerable:!0})),module),require_popper=__commonJS2(exports=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0});function getBoundingClientRect(element){var rect=element.getBoundingClientRect();return{width:rect.width,height:rect.height,top:rect.top,right:rect.right,bottom:rect.bottom,left:rect.left,x:rect.left,y:rect.top}}function getWindow(node){if(node==null)return window;if(node.toString()!=="[object Window]"){var ownerDocument=node.ownerDocument;return ownerDocument&&ownerDocument.defaultView||window}return node}function getWindowScroll(node){var win=getWindow(node),scrollLeft=win.pageXOffset,scrollTop=win.pageYOffset;return{scrollLeft,scrollTop}}function isElement(node){var OwnElement=getWindow(node).Element;return node instanceof OwnElement||node instanceof Element}function isHTMLElement(node){var OwnElement=getWindow(node).HTMLElement;return node instanceof OwnElement||node instanceof HTMLElement}function isShadowRoot(node){if(typeof ShadowRoot=="undefined")return!1;var OwnElement=getWindow(node).ShadowRoot;return node instanceof OwnElement||node instanceof ShadowRoot}function getHTMLElementScroll(element){return{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}}function getNodeScroll(node){return node===getWindow(node)||!isHTMLElement(node)?getWindowScroll(node):getHTMLElementScroll(node)}function getNodeName(element){return element?(element.nodeName||"").toLowerCase():null}function getDocumentElement(element){return((isElement(element)?element.ownerDocument:element.document)||window.document).documentElement}function getWindowScrollBarX(element){return getBoundingClientRect(getDocumentElement(element)).left+getWindowScroll(element).scrollLeft}function getComputedStyle2(element){return getWindow(element).getComputedStyle(element)}function isScrollParent(element){var _getComputedStyle=getComputedStyle2(element),overflow=_getComputedStyle.overflow,overflowX=_getComputedStyle.overflowX,overflowY=_getComputedStyle.overflowY;return/auto|scroll|overlay|hidden/.test(overflow+overflowY+overflowX)}function getCompositeRect(elementOrVirtualElement,offsetParent,isFixed){isFixed===void 0&&(isFixed=!1);var documentElement=getDocumentElement(offsetParent),rect=getBoundingClientRect(elementOrVirtualElement),isOffsetParentAnElement=isHTMLElement(offsetParent),scroll={scrollLeft:0,scrollTop:0},offsets={x:0,y:0};return(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!=="body"||isScrollParent(documentElement))&&(scroll=getNodeScroll(offsetParent)),isHTMLElement(offsetParent)?(offsets=getBoundingClientRect(offsetParent),offsets.x+=offsetParent.clientLeft,offsets.y+=offsetParent.clientTop):documentElement&&(offsets.x=getWindowScrollBarX(documentElement))),{x:rect.left+scroll.scrollLeft-offsets.x,y:rect.top+scroll.scrollTop-offsets.y,width:rect.width,height:rect.height}}function getLayoutRect(element){var clientRect=getBoundingClientRect(element),width=element.offsetWidth,height=element.offsetHeight;return Math.abs(clientRect.width-width)<=1&&(width=clientRect.width),Math.abs(clientRect.height-height)<=1&&(height=clientRect.height),{x:element.offsetLeft,y:element.offsetTop,width,height}}function getParentNode(element){return getNodeName(element)==="html"?element:element.assignedSlot||element.parentNode||(isShadowRoot(element)?element.host:null)||getDocumentElement(element)}function getScrollParent(node){return["html","body","#document"].indexOf(getNodeName(node))>=0?node.ownerDocument.body:isHTMLElement(node)&&isScrollParent(node)?node:getScrollParent(getParentNode(node))}function listScrollParents(element,list){var _element$ownerDocumen;list===void 0&&(list=[]);var scrollParent=getScrollParent(element),isBody=scrollParent===((_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body),win=getWindow(scrollParent),target=isBody?[win].concat(win.visualViewport||[],isScrollParent(scrollParent)?scrollParent:[]):scrollParent,updatedList=list.concat(target);return isBody?updatedList:updatedList.concat(listScrollParents(getParentNode(target)))}function isTableElement(element){return["table","td","th"].indexOf(getNodeName(element))>=0}function getTrueOffsetParent(element){return!isHTMLElement(element)||getComputedStyle2(element).position==="fixed"?null:element.offsetParent}function getContainingBlock(element){var isFirefox=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,isIE=navigator.userAgent.indexOf("Trident")!==-1;if(isIE&&isHTMLElement(element)){var elementCss=getComputedStyle2(element);if(elementCss.position==="fixed")return null}for(var currentNode=getParentNode(element);isHTMLElement(currentNode)&&["html","body"].indexOf(getNodeName(currentNode))<0;){var css=getComputedStyle2(currentNode);if(css.transform!=="none"||css.perspective!=="none"||css.contain==="paint"||["transform","perspective"].indexOf(css.willChange)!==-1||isFirefox&&css.willChange==="filter"||isFirefox&&css.filter&&css.filter!=="none")return currentNode;currentNode=currentNode.parentNode}return null}function getOffsetParent(element){for(var window2=getWindow(element),offsetParent=getTrueOffsetParent(element);offsetParent&&isTableElement(offsetParent)&&getComputedStyle2(offsetParent).position==="static";)offsetParent=getTrueOffsetParent(offsetParent);return offsetParent&&(getNodeName(offsetParent)==="html"||getNodeName(offsetParent)==="body"&&getComputedStyle2(offsetParent).position==="static")?window2:offsetParent||getContainingBlock(element)||window2}var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce(function(acc,placement){return acc.concat([placement+"-"+start,placement+"-"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(acc,placement){return acc.concat([placement,placement+"-"+start,placement+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function order(modifiers){var map=new Map,visited=new Set,result=[];modifiers.forEach(function(modifier){map.set(modifier.name,modifier)});function sort(modifier){visited.add(modifier.name);var requires=[].concat(modifier.requires||[],modifier.requiresIfExists||[]);requires.forEach(function(dep){if(!visited.has(dep)){var depModifier=map.get(dep);depModifier&&sort(depModifier)}}),result.push(modifier)}return modifiers.forEach(function(modifier){visited.has(modifier.name)||sort(modifier)}),result}function orderModifiers(modifiers){var orderedModifiers=order(modifiers);return modifierPhases.reduce(function(acc,phase){return acc.concat(orderedModifiers.filter(function(modifier){return modifier.phase===phase}))},[])}function debounce(fn){var pending;return function(){return pending||(pending=new Promise(function(resolve){Promise.resolve().then(function(){pending=void 0,resolve(fn())})})),pending}}function format(str){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return[].concat(args).reduce(function(p,c){return p.replace(/%s/,c)},str)}var INVALID_MODIFIER_ERROR='Popper: modifier "%s" provided an invalid %s property, expected %s but got %s',MISSING_DEPENDENCY_ERROR='Popper: modifier "%s" requires "%s", but "%s" modifier is not available',VALID_PROPERTIES=["name","enabled","phase","fn","effect","requires","options"];function validateModifiers(modifiers){modifiers.forEach(function(modifier){Object.keys(modifier).forEach(function(key){switch(key){case"name":typeof modifier.name!="string"&&console.error(format(INVALID_MODIFIER_ERROR,String(modifier.name),'"name"','"string"','"'+String(modifier.name)+'"'));break;case"enabled":typeof modifier.enabled!="boolean"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"enabled"','"boolean"','"'+String(modifier.enabled)+'"'));case"phase":modifierPhases.indexOf(modifier.phase)<0&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"phase"',"either "+modifierPhases.join(", "),'"'+String(modifier.phase)+'"'));break;case"fn":typeof modifier.fn!="function"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"fn"','"function"','"'+String(modifier.fn)+'"'));break;case"effect":typeof modifier.effect!="function"&&console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"effect"','"function"','"'+String(modifier.fn)+'"'));break;case"requires":Array.isArray(modifier.requires)||console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"requires"','"array"','"'+String(modifier.requires)+'"'));break;case"requiresIfExists":Array.isArray(modifier.requiresIfExists)||console.error(format(INVALID_MODIFIER_ERROR,modifier.name,'"requiresIfExists"','"array"','"'+String(modifier.requiresIfExists)+'"'));break;case"options":case"data":break;default:console.error('PopperJS: an invalid property has been provided to the "'+modifier.name+'" modifier, valid properties are '+VALID_PROPERTIES.map(function(s){return'"'+s+'"'}).join(", ")+'; but "'+key+'" was provided.')}modifier.requires&&modifier.requires.forEach(function(requirement){modifiers.find(function(mod){return mod.name===requirement})==null&&console.error(format(MISSING_DEPENDENCY_ERROR,String(modifier.name),requirement,requirement))})})})}function uniqueBy(arr,fn){var identifiers=new Set;return arr.filter(function(item){var identifier=fn(item);if(!identifiers.has(identifier))return identifiers.add(identifier),!0})}function getBasePlacement(placement){return placement.split("-")[0]}function mergeByName(modifiers){var merged=modifiers.reduce(function(merged2,current){var existing=merged2[current.name];return merged2[current.name]=existing?Object.assign({},existing,current,{options:Object.assign({},existing.options,current.options),data:Object.assign({},existing.data,current.data)}):current,merged2},{});return Object.keys(merged).map(function(key){return merged[key]})}function getViewportRect(element){var win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;return visualViewport&&(width=visualViewport.width,height=visualViewport.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)),{width,height,x:x+getWindowScrollBarX(element),y}}var max=Math.max,min=Math.min,round=Math.round;function getDocumentRect(element){var _element$ownerDocumen,html=getDocumentElement(element),winScroll=getWindowScroll(element),body=(_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body,width=max(html.scrollWidth,html.clientWidth,body?body.scrollWidth:0,body?body.clientWidth:0),height=max(html.scrollHeight,html.clientHeight,body?body.scrollHeight:0,body?body.clientHeight:0),x=-winScroll.scrollLeft+getWindowScrollBarX(element),y=-winScroll.scrollTop;return getComputedStyle2(body||html).direction==="rtl"&&(x+=max(html.clientWidth,body?body.clientWidth:0)-width),{width,height,x,y}}function contains(parent,child){var rootNode=child.getRootNode&&child.getRootNode();if(parent.contains(child))return!0;if(rootNode&&isShadowRoot(rootNode)){var next=child;do{if(next&&parent.isSameNode(next))return!0;next=next.parentNode||next.host}while(next)}return!1}function rectToClientRect(rect){return Object.assign({},rect,{left:rect.x,top:rect.y,right:rect.x+rect.width,bottom:rect.y+rect.height})}function getInnerBoundingClientRect(element){var rect=getBoundingClientRect(element);return rect.top=rect.top+element.clientTop,rect.left=rect.left+element.clientLeft,rect.bottom=rect.top+element.clientHeight,rect.right=rect.left+element.clientWidth,rect.width=element.clientWidth,rect.height=element.clientHeight,rect.x=rect.left,rect.y=rect.top,rect}function getClientRectFromMixedType(element,clippingParent){return clippingParent===viewport?rectToClientRect(getViewportRect(element)):isHTMLElement(clippingParent)?getInnerBoundingClientRect(clippingParent):rectToClientRect(getDocumentRect(getDocumentElement(element)))}function getClippingParents(element){var clippingParents2=listScrollParents(getParentNode(element)),canEscapeClipping=["absolute","fixed"].indexOf(getComputedStyle2(element).position)>=0,clipperElement=canEscapeClipping&&isHTMLElement(element)?getOffsetParent(element):element;return isElement(clipperElement)?clippingParents2.filter(function(clippingParent){return isElement(clippingParent)&&contains(clippingParent,clipperElement)&&getNodeName(clippingParent)!=="body"}):[]}function getClippingRect(element,boundary,rootBoundary){var mainClippingParents=boundary==="clippingParents"?getClippingParents(element):[].concat(boundary),clippingParents2=[].concat(mainClippingParents,[rootBoundary]),firstClippingParent=clippingParents2[0],clippingRect=clippingParents2.reduce(function(accRect,clippingParent){var rect=getClientRectFromMixedType(element,clippingParent);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromMixedType(element,firstClippingParent));return clippingRect.width=clippingRect.right-clippingRect.left,clippingRect.height=clippingRect.bottom-clippingRect.top,clippingRect.x=clippingRect.left,clippingRect.y=clippingRect.top,clippingRect}function getVariation(placement){return placement.split("-")[1]}function getMainAxisFromPlacement(placement){return["top","bottom"].indexOf(placement)>=0?"x":"y"}function computeOffsets(_ref){var reference2=_ref.reference,element=_ref.element,placement=_ref.placement,basePlacement=placement?getBasePlacement(placement):null,variation=placement?getVariation(placement):null,commonX=reference2.x+reference2.width/2-element.width/2,commonY=reference2.y+reference2.height/2-element.height/2,offsets;switch(basePlacement){case top:offsets={x:commonX,y:reference2.y-element.height};break;case bottom:offsets={x:commonX,y:reference2.y+reference2.height};break;case right:offsets={x:reference2.x+reference2.width,y:commonY};break;case left:offsets={x:reference2.x-element.width,y:commonY};break;default:offsets={x:reference2.x,y:reference2.y}}var mainAxis=basePlacement?getMainAxisFromPlacement(basePlacement):null;if(mainAxis!=null){var len=mainAxis==="y"?"height":"width";switch(variation){case start:offsets[mainAxis]=offsets[mainAxis]-(reference2[len]/2-element[len]/2);break;case end:offsets[mainAxis]=offsets[mainAxis]+(reference2[len]/2-element[len]/2);break}}return offsets}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(paddingObject){return Object.assign({},getFreshSideObject(),paddingObject)}function expandToHashMap(value,keys){return keys.reduce(function(hashMap,key){return hashMap[key]=value,hashMap},{})}function detectOverflow(state,options){options===void 0&&(options={});var _options=options,_options$placement=_options.placement,placement=_options$placement===void 0?state.placement:_options$placement,_options$boundary=_options.boundary,boundary=_options$boundary===void 0?clippingParents:_options$boundary,_options$rootBoundary=_options.rootBoundary,rootBoundary=_options$rootBoundary===void 0?viewport:_options$rootBoundary,_options$elementConte=_options.elementContext,elementContext=_options$elementConte===void 0?popper:_options$elementConte,_options$altBoundary=_options.altBoundary,altBoundary=_options$altBoundary===void 0?!1:_options$altBoundary,_options$padding=_options.padding,padding=_options$padding===void 0?0:_options$padding,paddingObject=mergePaddingObject(typeof padding!="number"?padding:expandToHashMap(padding,basePlacements)),altContext=elementContext===popper?reference:popper,referenceElement=state.elements.reference,popperRect=state.rects.popper,element=state.elements[altBoundary?altContext:elementContext],clippingClientRect=getClippingRect(isElement(element)?element:element.contextElement||getDocumentElement(state.elements.popper),boundary,rootBoundary),referenceClientRect=getBoundingClientRect(referenceElement),popperOffsets2=computeOffsets({reference:referenceClientRect,element:popperRect,strategy:"absolute",placement}),popperClientRect=rectToClientRect(Object.assign({},popperRect,popperOffsets2)),elementClientRect=elementContext===popper?popperClientRect:referenceClientRect,overflowOffsets={top:clippingClientRect.top-elementClientRect.top+paddingObject.top,bottom:elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom,left:clippingClientRect.left-elementClientRect.left+paddingObject.left,right:elementClientRect.right-clippingClientRect.right+paddingObject.right},offsetData=state.modifiersData.offset;if(elementContext===popper&&offsetData){var offset2=offsetData[placement];Object.keys(overflowOffsets).forEach(function(key){var multiply=[right,bottom].indexOf(key)>=0?1:-1,axis=[top,bottom].indexOf(key)>=0?"y":"x";overflowOffsets[key]+=offset2[axis]*multiply})}return overflowOffsets}var INVALID_ELEMENT_ERROR="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",INFINITE_LOOP_ERROR="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return!args.some(function(element){return!(element&&typeof element.getBoundingClientRect=="function")})}function popperGenerator(generatorOptions){generatorOptions===void 0&&(generatorOptions={});var _generatorOptions=generatorOptions,_generatorOptions$def=_generatorOptions.defaultModifiers,defaultModifiers2=_generatorOptions$def===void 0?[]:_generatorOptions$def,_generatorOptions$def2=_generatorOptions.defaultOptions,defaultOptions=_generatorOptions$def2===void 0?DEFAULT_OPTIONS:_generatorOptions$def2;return function(reference2,popper2,options){options===void 0&&(options=defaultOptions);var state={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,defaultOptions),modifiersData:{},elements:{reference:reference2,popper:popper2},attributes:{},styles:{}},effectCleanupFns=[],isDestroyed=!1,instance={state,setOptions:function(options2){cleanupModifierEffects(),state.options=Object.assign({},defaultOptions,state.options,options2),state.scrollParents={reference:isElement(reference2)?listScrollParents(reference2):reference2.contextElement?listScrollParents(reference2.contextElement):[],popper:listScrollParents(popper2)};var orderedModifiers=orderModifiers(mergeByName([].concat(defaultModifiers2,state.options.modifiers)));state.orderedModifiers=orderedModifiers.filter(function(m){return m.enabled});var modifiers=uniqueBy([].concat(orderedModifiers,state.options.modifiers),function(_ref){var name=_ref.name;return name});if(validateModifiers(modifiers),getBasePlacement(state.options.placement)===auto){var flipModifier=state.orderedModifiers.find(function(_ref2){var name=_ref2.name;return name==="flip"});flipModifier||console.error(['Popper: "auto" placements require the "flip" modifier be',"present and enabled to work."].join(" "))}var _getComputedStyle=getComputedStyle2(popper2),marginTop=_getComputedStyle.marginTop,marginRight=_getComputedStyle.marginRight,marginBottom=_getComputedStyle.marginBottom,marginLeft=_getComputedStyle.marginLeft;return[marginTop,marginRight,marginBottom,marginLeft].some(function(margin){return parseFloat(margin)})&&console.warn(['Popper: CSS "margin" styles cannot be used to apply padding',"between the popper and its reference element or boundary.","To replicate margin, use the `offset` modifier, as well as","the `padding` option in the `preventOverflow` and `flip`","modifiers."].join(" ")),runModifierEffects(),instance.update()},forceUpdate:function(){if(!isDestroyed){var _state$elements=state.elements,reference3=_state$elements.reference,popper3=_state$elements.popper;if(!areValidElements(reference3,popper3)){console.error(INVALID_ELEMENT_ERROR);return}state.rects={reference:getCompositeRect(reference3,getOffsetParent(popper3),state.options.strategy==="fixed"),popper:getLayoutRect(popper3)},state.reset=!1,state.placement=state.options.placement,state.orderedModifiers.forEach(function(modifier){return state.modifiersData[modifier.name]=Object.assign({},modifier.data)});for(var __debug_loops__=0,index=0;index100){console.error(INFINITE_LOOP_ERROR);break}if(state.reset===!0){state.reset=!1,index=-1;continue}var _state$orderedModifie=state.orderedModifiers[index],fn=_state$orderedModifie.fn,_state$orderedModifie2=_state$orderedModifie.options,_options=_state$orderedModifie2===void 0?{}:_state$orderedModifie2,name=_state$orderedModifie.name;typeof fn=="function"&&(state=fn({state,options:_options,name,instance})||state)}}},update:debounce(function(){return new Promise(function(resolve){instance.forceUpdate(),resolve(state)})}),destroy:function(){cleanupModifierEffects(),isDestroyed=!0}};if(!areValidElements(reference2,popper2))return console.error(INVALID_ELEMENT_ERROR),instance;instance.setOptions(options).then(function(state2){!isDestroyed&&options.onFirstUpdate&&options.onFirstUpdate(state2)});function runModifierEffects(){state.orderedModifiers.forEach(function(_ref3){var name=_ref3.name,_ref3$options=_ref3.options,options2=_ref3$options===void 0?{}:_ref3$options,effect2=_ref3.effect;if(typeof effect2=="function"){var cleanupFn=effect2({state,name,instance,options:options2}),noopFn=function(){};effectCleanupFns.push(cleanupFn||noopFn)}})}function cleanupModifierEffects(){effectCleanupFns.forEach(function(fn){return fn()}),effectCleanupFns=[]}return instance}}var passive={passive:!0};function effect$2(_ref){var state=_ref.state,instance=_ref.instance,options=_ref.options,_options$scroll=options.scroll,scroll=_options$scroll===void 0?!0:_options$scroll,_options$resize=options.resize,resize=_options$resize===void 0?!0:_options$resize,window2=getWindow(state.elements.popper),scrollParents=[].concat(state.scrollParents.reference,state.scrollParents.popper);return scroll&&scrollParents.forEach(function(scrollParent){scrollParent.addEventListener("scroll",instance.update,passive)}),resize&&window2.addEventListener("resize",instance.update,passive),function(){scroll&&scrollParents.forEach(function(scrollParent){scrollParent.removeEventListener("scroll",instance.update,passive)}),resize&&window2.removeEventListener("resize",instance.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect$2,data:{}};function popperOffsets(_ref){var state=_ref.state,name=_ref.name;state.modifiersData[name]=computeOffsets({reference:state.rects.reference,element:state.rects.popper,strategy:"absolute",placement:state.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}},unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(_ref){var x=_ref.x,y=_ref.y,win=window,dpr=win.devicePixelRatio||1;return{x:round(round(x*dpr)/dpr)||0,y:round(round(y*dpr)/dpr)||0}}function mapToStyles(_ref2){var _Object$assign2,popper2=_ref2.popper,popperRect=_ref2.popperRect,placement=_ref2.placement,offsets=_ref2.offsets,position=_ref2.position,gpuAcceleration=_ref2.gpuAcceleration,adaptive=_ref2.adaptive,roundOffsets=_ref2.roundOffsets,_ref3=roundOffsets===!0?roundOffsetsByDPR(offsets):typeof roundOffsets=="function"?roundOffsets(offsets):offsets,_ref3$x=_ref3.x,x=_ref3$x===void 0?0:_ref3$x,_ref3$y=_ref3.y,y=_ref3$y===void 0?0:_ref3$y,hasX=offsets.hasOwnProperty("x"),hasY=offsets.hasOwnProperty("y"),sideX=left,sideY=top,win=window;if(adaptive){var offsetParent=getOffsetParent(popper2),heightProp="clientHeight",widthProp="clientWidth";offsetParent===getWindow(popper2)&&(offsetParent=getDocumentElement(popper2),getComputedStyle2(offsetParent).position!=="static"&&(heightProp="scrollHeight",widthProp="scrollWidth")),offsetParent=offsetParent,placement===top&&(sideY=bottom,y-=offsetParent[heightProp]-popperRect.height,y*=gpuAcceleration?1:-1),placement===left&&(sideX=right,x-=offsetParent[widthProp]-popperRect.width,x*=gpuAcceleration?1:-1)}var commonStyles=Object.assign({position},adaptive&&unsetSides);if(gpuAcceleration){var _Object$assign;return Object.assign({},commonStyles,(_Object$assign={},_Object$assign[sideY]=hasY?"0":"",_Object$assign[sideX]=hasX?"0":"",_Object$assign.transform=(win.devicePixelRatio||1)<2?"translate("+x+"px, "+y+"px)":"translate3d("+x+"px, "+y+"px, 0)",_Object$assign))}return Object.assign({},commonStyles,(_Object$assign2={},_Object$assign2[sideY]=hasY?y+"px":"",_Object$assign2[sideX]=hasX?x+"px":"",_Object$assign2.transform="",_Object$assign2))}function computeStyles(_ref4){var state=_ref4.state,options=_ref4.options,_options$gpuAccelerat=options.gpuAcceleration,gpuAcceleration=_options$gpuAccelerat===void 0?!0:_options$gpuAccelerat,_options$adaptive=options.adaptive,adaptive=_options$adaptive===void 0?!0:_options$adaptive,_options$roundOffsets=options.roundOffsets,roundOffsets=_options$roundOffsets===void 0?!0:_options$roundOffsets,transitionProperty=getComputedStyle2(state.elements.popper).transitionProperty||"";adaptive&&["transform","top","right","bottom","left"].some(function(property){return transitionProperty.indexOf(property)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` `,'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.",` -`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "));var commonStyles={placement:getBasePlacement(state.placement),popper:state.elements.popper,popperRect:state.rects.popper,gpuAcceleration};state.modifiersData.popperOffsets!=null&&(state.styles.popper=Object.assign({},state.styles.popper,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.popperOffsets,position:state.options.strategy,adaptive,roundOffsets})))),state.modifiersData.arrow!=null&&(state.styles.arrow=Object.assign({},state.styles.arrow,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets})))),state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-placement":state.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};function applyStyles(_ref){var state=_ref.state;Object.keys(state.elements).forEach(function(name){var style=state.styles[name]||{},attributes=state.attributes[name]||{},element=state.elements[name];!isHTMLElement(element)||!getNodeName(element)||(Object.assign(element.style,style),Object.keys(attributes).forEach(function(name2){var value=attributes[name2];value===!1?element.removeAttribute(name2):element.setAttribute(name2,value===!0?"":value)}))})}function effect$1(_ref2){var state=_ref2.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow),function(){Object.keys(state.elements).forEach(function(name){var element=state.elements[name],attributes=state.attributes[name]||{},styleProperties=Object.keys(state.styles.hasOwnProperty(name)?state.styles[name]:initialStyles[name]),style=styleProperties.reduce(function(style2,property){return style2[property]="",style2},{});!isHTMLElement(element)||!getNodeName(element)||(Object.assign(element.style,style),Object.keys(attributes).forEach(function(attribute){element.removeAttribute(attribute)}))})}}var applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$1,requires:["computeStyles"]};function distanceAndSkiddingToXY(placement,rects,offset2){var basePlacement=getBasePlacement(placement),invertDistance=[left,top].indexOf(basePlacement)>=0?-1:1,_ref=typeof offset2=="function"?offset2(Object.assign({},rects,{placement})):offset2,skidding=_ref[0],distance=_ref[1];return skidding=skidding||0,distance=(distance||0)*invertDistance,[left,right].indexOf(basePlacement)>=0?{x:distance,y:skidding}:{x:skidding,y:distance}}function offset(_ref2){var state=_ref2.state,options=_ref2.options,name=_ref2.name,_options$offset=options.offset,offset2=_options$offset===void 0?[0,0]:_options$offset,data=placements.reduce(function(acc,placement){return acc[placement]=distanceAndSkiddingToXY(placement,state.rects,offset2),acc},{}),_data$state$placement=data[state.placement],x=_data$state$placement.x,y=_data$state$placement.y;state.modifiersData.popperOffsets!=null&&(state.modifiersData.popperOffsets.x+=x,state.modifiersData.popperOffsets.y+=y),state.modifiersData[name]=data}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset},hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,function(matched){return hash$1[matched]})}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(placement){return placement.replace(/start|end/g,function(matched){return hash[matched]})}function computeAutoPlacement(state,options){options===void 0&&(options={});var _options=options,placement=_options.placement,boundary=_options.boundary,rootBoundary=_options.rootBoundary,padding=_options.padding,flipVariations=_options.flipVariations,_options$allowedAutoP=_options.allowedAutoPlacements,allowedAutoPlacements=_options$allowedAutoP===void 0?placements:_options$allowedAutoP,variation=getVariation(placement),placements$1=variation?flipVariations?variationPlacements:variationPlacements.filter(function(placement2){return getVariation(placement2)===variation}):basePlacements,allowedPlacements=placements$1.filter(function(placement2){return allowedAutoPlacements.indexOf(placement2)>=0});allowedPlacements.length===0&&(allowedPlacements=placements$1,console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var overflows=allowedPlacements.reduce(function(acc,placement2){return acc[placement2]=detectOverflow(state,{placement:placement2,boundary,rootBoundary,padding})[getBasePlacement(placement2)],acc},{});return Object.keys(overflows).sort(function(a,b){return overflows[a]-overflows[b]})}function getExpandedFallbackPlacements(placement){if(getBasePlacement(placement)===auto)return[];var oppositePlacement=getOppositePlacement(placement);return[getOppositeVariationPlacement(placement),oppositePlacement,getOppositeVariationPlacement(oppositePlacement)]}function flip(_ref){var state=_ref.state,options=_ref.options,name=_ref.name;if(!state.modifiersData[name]._skip){for(var _options$mainAxis=options.mainAxis,checkMainAxis=_options$mainAxis===void 0?!0:_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=_options$altAxis===void 0?!0:_options$altAxis,specifiedFallbackPlacements=options.fallbackPlacements,padding=options.padding,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,_options$flipVariatio=options.flipVariations,flipVariations=_options$flipVariatio===void 0?!0:_options$flipVariatio,allowedAutoPlacements=options.allowedAutoPlacements,preferredPlacement=state.options.placement,basePlacement=getBasePlacement(preferredPlacement),isBasePlacement=basePlacement===preferredPlacement,fallbackPlacements=specifiedFallbackPlacements||(isBasePlacement||!flipVariations?[getOppositePlacement(preferredPlacement)]:getExpandedFallbackPlacements(preferredPlacement)),placements2=[preferredPlacement].concat(fallbackPlacements).reduce(function(acc,placement2){return acc.concat(getBasePlacement(placement2)===auto?computeAutoPlacement(state,{placement:placement2,boundary,rootBoundary,padding,flipVariations,allowedAutoPlacements}):placement2)},[]),referenceRect=state.rects.reference,popperRect=state.rects.popper,checksMap=new Map,makeFallbackChecks=!0,firstFittingPlacement=placements2[0],i=0;i=0,len=isVertical?"width":"height",overflow=detectOverflow(state,{placement,boundary,rootBoundary,altBoundary,padding}),mainVariationSide=isVertical?isStartVariation?right:left:isStartVariation?bottom:top;referenceRect[len]>popperRect[len]&&(mainVariationSide=getOppositePlacement(mainVariationSide));var altVariationSide=getOppositePlacement(mainVariationSide),checks=[];if(checkMainAxis&&checks.push(overflow[_basePlacement]<=0),checkAltAxis&&checks.push(overflow[mainVariationSide]<=0,overflow[altVariationSide]<=0),checks.every(function(check){return check})){firstFittingPlacement=placement,makeFallbackChecks=!1;break}checksMap.set(placement,checks)}if(makeFallbackChecks)for(var numberOfChecks=flipVariations?3:1,_loop=function(_i2){var fittingPlacement=placements2.find(function(placement2){var checks2=checksMap.get(placement2);if(checks2)return checks2.slice(0,_i2).every(function(check){return check})});if(fittingPlacement)return firstFittingPlacement=fittingPlacement,"break"},_i=numberOfChecks;_i>0;_i--){var _ret=_loop(_i);if(_ret==="break")break}state.placement!==firstFittingPlacement&&(state.modifiersData[name]._skip=!0,state.placement=firstFittingPlacement,state.reset=!0)}}var flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getAltAxis(axis){return axis==="x"?"y":"x"}function within(min$1,value,max$1){return max(min$1,min(value,max$1))}function preventOverflow(_ref){var state=_ref.state,options=_ref.options,name=_ref.name,_options$mainAxis=options.mainAxis,checkMainAxis=_options$mainAxis===void 0?!0:_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=_options$altAxis===void 0?!1:_options$altAxis,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,padding=options.padding,_options$tether=options.tether,tether=_options$tether===void 0?!0:_options$tether,_options$tetherOffset=options.tetherOffset,tetherOffset=_options$tetherOffset===void 0?0:_options$tetherOffset,overflow=detectOverflow(state,{boundary,rootBoundary,padding,altBoundary}),basePlacement=getBasePlacement(state.placement),variation=getVariation(state.placement),isBasePlacement=!variation,mainAxis=getMainAxisFromPlacement(basePlacement),altAxis=getAltAxis(mainAxis),popperOffsets2=state.modifiersData.popperOffsets,referenceRect=state.rects.reference,popperRect=state.rects.popper,tetherOffsetValue=typeof tetherOffset=="function"?tetherOffset(Object.assign({},state.rects,{placement:state.placement})):tetherOffset,data={x:0,y:0};if(!!popperOffsets2){if(checkMainAxis||checkAltAxis){var mainSide=mainAxis==="y"?top:left,altSide=mainAxis==="y"?bottom:right,len=mainAxis==="y"?"height":"width",offset2=popperOffsets2[mainAxis],min$1=popperOffsets2[mainAxis]+overflow[mainSide],max$1=popperOffsets2[mainAxis]-overflow[altSide],additive=tether?-popperRect[len]/2:0,minLen=variation===start?referenceRect[len]:popperRect[len],maxLen=variation===start?-popperRect[len]:-referenceRect[len],arrowElement=state.elements.arrow,arrowRect=tether&&arrowElement?getLayoutRect(arrowElement):{width:0,height:0},arrowPaddingObject=state.modifiersData["arrow#persistent"]?state.modifiersData["arrow#persistent"].padding:getFreshSideObject(),arrowPaddingMin=arrowPaddingObject[mainSide],arrowPaddingMax=arrowPaddingObject[altSide],arrowLen=within(0,referenceRect[len],arrowRect[len]),minOffset=isBasePlacement?referenceRect[len]/2-additive-arrowLen-arrowPaddingMin-tetherOffsetValue:minLen-arrowLen-arrowPaddingMin-tetherOffsetValue,maxOffset=isBasePlacement?-referenceRect[len]/2+additive+arrowLen+arrowPaddingMax+tetherOffsetValue:maxLen+arrowLen+arrowPaddingMax+tetherOffsetValue,arrowOffsetParent=state.elements.arrow&&getOffsetParent(state.elements.arrow),clientOffset=arrowOffsetParent?mainAxis==="y"?arrowOffsetParent.clientTop||0:arrowOffsetParent.clientLeft||0:0,offsetModifierValue=state.modifiersData.offset?state.modifiersData.offset[state.placement][mainAxis]:0,tetherMin=popperOffsets2[mainAxis]+minOffset-offsetModifierValue-clientOffset,tetherMax=popperOffsets2[mainAxis]+maxOffset-offsetModifierValue;if(checkMainAxis){var preventedOffset=within(tether?min(min$1,tetherMin):min$1,offset2,tether?max(max$1,tetherMax):max$1);popperOffsets2[mainAxis]=preventedOffset,data[mainAxis]=preventedOffset-offset2}if(checkAltAxis){var _mainSide=mainAxis==="x"?top:left,_altSide=mainAxis==="x"?bottom:right,_offset=popperOffsets2[altAxis],_min=_offset+overflow[_mainSide],_max=_offset-overflow[_altSide],_preventedOffset=within(tether?min(_min,tetherMin):_min,_offset,tether?max(_max,tetherMax):_max);popperOffsets2[altAxis]=_preventedOffset,data[altAxis]=_preventedOffset-_offset}}state.modifiersData[name]=data}}var preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]},toPaddingObject=function(padding,state){return padding=typeof padding=="function"?padding(Object.assign({},state.rects,{placement:state.placement})):padding,mergePaddingObject(typeof padding!="number"?padding:expandToHashMap(padding,basePlacements))};function arrow(_ref){var _state$modifiersData$,state=_ref.state,name=_ref.name,options=_ref.options,arrowElement=state.elements.arrow,popperOffsets2=state.modifiersData.popperOffsets,basePlacement=getBasePlacement(state.placement),axis=getMainAxisFromPlacement(basePlacement),isVertical=[left,right].indexOf(basePlacement)>=0,len=isVertical?"height":"width";if(!(!arrowElement||!popperOffsets2)){var paddingObject=toPaddingObject(options.padding,state),arrowRect=getLayoutRect(arrowElement),minProp=axis==="y"?top:left,maxProp=axis==="y"?bottom:right,endDiff=state.rects.reference[len]+state.rects.reference[axis]-popperOffsets2[axis]-state.rects.popper[len],startDiff=popperOffsets2[axis]-state.rects.reference[axis],arrowOffsetParent=getOffsetParent(arrowElement),clientSize=arrowOffsetParent?axis==="y"?arrowOffsetParent.clientHeight||0:arrowOffsetParent.clientWidth||0:0,centerToReference=endDiff/2-startDiff/2,min2=paddingObject[minProp],max2=clientSize-arrowRect[len]-paddingObject[maxProp],center=clientSize/2-arrowRect[len]/2+centerToReference,offset2=within(min2,center,max2),axisProp=axis;state.modifiersData[name]=(_state$modifiersData$={},_state$modifiersData$[axisProp]=offset2,_state$modifiersData$.centerOffset=offset2-center,_state$modifiersData$)}}function effect(_ref2){var state=_ref2.state,options=_ref2.options,_options$element=options.element,arrowElement=_options$element===void 0?"[data-popper-arrow]":_options$element;if(arrowElement!=null&&!(typeof arrowElement=="string"&&(arrowElement=state.elements.popper.querySelector(arrowElement),!arrowElement))){if(isHTMLElement(arrowElement)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" ")),!contains(state.elements.popper,arrowElement)){console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" "));return}state.elements.arrow=arrowElement}}var arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getSideOffsets(overflow,rect,preventedOffsets){return preventedOffsets===void 0&&(preventedOffsets={x:0,y:0}),{top:overflow.top-rect.height-preventedOffsets.y,right:overflow.right-rect.width+preventedOffsets.x,bottom:overflow.bottom-rect.height+preventedOffsets.y,left:overflow.left-rect.width-preventedOffsets.x}}function isAnySideFullyClipped(overflow){return[top,right,bottom,left].some(function(side){return overflow[side]>=0})}function hide(_ref){var state=_ref.state,name=_ref.name,referenceRect=state.rects.reference,popperRect=state.rects.popper,preventedOffsets=state.modifiersData.preventOverflow,referenceOverflow=detectOverflow(state,{elementContext:"reference"}),popperAltOverflow=detectOverflow(state,{altBoundary:!0}),referenceClippingOffsets=getSideOffsets(referenceOverflow,referenceRect),popperEscapeOffsets=getSideOffsets(popperAltOverflow,popperRect,preventedOffsets),isReferenceHidden=isAnySideFullyClipped(referenceClippingOffsets),hasPopperEscaped=isAnySideFullyClipped(popperEscapeOffsets);state.modifiersData[name]={referenceClippingOffsets,popperEscapeOffsets,isReferenceHidden,hasPopperEscaped},state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-reference-hidden":isReferenceHidden,"data-popper-escaped":hasPopperEscaped})}var hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide},defaultModifiers$1=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1],createPopper$1=popperGenerator({defaultModifiers:defaultModifiers$1}),defaultModifiers=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1,offset$1,flip$1,preventOverflow$1,arrow$1,hide$1],createPopper=popperGenerator({defaultModifiers});exports.applyStyles=applyStyles$1,exports.arrow=arrow$1,exports.computeStyles=computeStyles$1,exports.createPopper=createPopper,exports.createPopperLite=createPopper$1,exports.defaultModifiers=defaultModifiers,exports.detectOverflow=detectOverflow,exports.eventListeners=eventListeners,exports.flip=flip$1,exports.hide=hide$1,exports.offset=offset$1,exports.popperGenerator=popperGenerator,exports.popperOffsets=popperOffsets$1,exports.preventOverflow=preventOverflow$1}),require_tippy_cjs=__commonJS2(exports=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require_popper(),ROUND_ARROW='',BOX_CLASS="tippy-box",CONTENT_CLASS="tippy-content",BACKDROP_CLASS="tippy-backdrop",ARROW_CLASS="tippy-arrow",SVG_ARROW_CLASS="tippy-svg-arrow",TOUCH_OPTIONS={passive:!0,capture:!0};function hasOwnProperty(obj,key){return{}.hasOwnProperty.call(obj,key)}function getValueAtIndexOrReturn(value,index2,defaultValue){if(Array.isArray(value)){var v=value[index2];return v??(Array.isArray(defaultValue)?defaultValue[index2]:defaultValue)}return value}function isType(value,type){var str={}.toString.call(value);return str.indexOf("[object")===0&&str.indexOf(type+"]")>-1}function invokeWithArgsOrReturn(value,args){return typeof value=="function"?value.apply(void 0,args):value}function debounce2(fn,ms){if(ms===0)return fn;var timeout;return function(arg){clearTimeout(timeout),timeout=setTimeout(function(){fn(arg)},ms)}}function removeProperties(obj,keys){var clone2=Object.assign({},obj);return keys.forEach(function(key){delete clone2[key]}),clone2}function splitBySpaces(value){return value.split(/\s+/).filter(Boolean)}function normalizeToArray(value){return[].concat(value)}function pushIfUnique(arr,value){arr.indexOf(value)===-1&&arr.push(value)}function unique(arr){return arr.filter(function(item,index2){return arr.indexOf(item)===index2})}function getBasePlacement(placement){return placement.split("-")[0]}function arrayFrom(value){return[].slice.call(value)}function removeUndefinedProps(obj){return Object.keys(obj).reduce(function(acc,key){return obj[key]!==void 0&&(acc[key]=obj[key]),acc},{})}function div(){return document.createElement("div")}function isElement(value){return["Element","Fragment"].some(function(type){return isType(value,type)})}function isNodeList(value){return isType(value,"NodeList")}function isMouseEvent(value){return isType(value,"MouseEvent")}function isReferenceElement(value){return!!(value&&value._tippy&&value._tippy.reference===value)}function getArrayOfElements(value){return isElement(value)?[value]:isNodeList(value)?arrayFrom(value):Array.isArray(value)?value:arrayFrom(document.querySelectorAll(value))}function setTransitionDuration(els,value){els.forEach(function(el){el&&(el.style.transitionDuration=value+"ms")})}function setVisibilityState(els,state){els.forEach(function(el){el&&el.setAttribute("data-state",state)})}function getOwnerDocument(elementOrElements){var _element$ownerDocumen,_normalizeToArray=normalizeToArray(elementOrElements),element=_normalizeToArray[0];return(element==null||(_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body)?element.ownerDocument:document}function isCursorOutsideInteractiveBorder(popperTreeData,event){var clientX=event.clientX,clientY=event.clientY;return popperTreeData.every(function(_ref){var popperRect=_ref.popperRect,popperState=_ref.popperState,props=_ref.props,interactiveBorder=props.interactiveBorder,basePlacement=getBasePlacement(popperState.placement),offsetData=popperState.modifiersData.offset;if(!offsetData)return!0;var topDistance=basePlacement==="bottom"?offsetData.top.y:0,bottomDistance=basePlacement==="top"?offsetData.bottom.y:0,leftDistance=basePlacement==="right"?offsetData.left.x:0,rightDistance=basePlacement==="left"?offsetData.right.x:0,exceedsTop=popperRect.top-clientY+topDistance>interactiveBorder,exceedsBottom=clientY-popperRect.bottom-bottomDistance>interactiveBorder,exceedsLeft=popperRect.left-clientX+leftDistance>interactiveBorder,exceedsRight=clientX-popperRect.right-rightDistance>interactiveBorder;return exceedsTop||exceedsBottom||exceedsLeft||exceedsRight})}function updateTransitionEndListener(box,action,listener){var method=action+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(event){box[method](event,listener)})}var currentInput={isTouch:!1},lastMouseMoveTime=0;function onDocumentTouchStart(){currentInput.isTouch||(currentInput.isTouch=!0,window.performance&&document.addEventListener("mousemove",onDocumentMouseMove))}function onDocumentMouseMove(){var now=performance.now();now-lastMouseMoveTime<20&&(currentInput.isTouch=!1,document.removeEventListener("mousemove",onDocumentMouseMove)),lastMouseMoveTime=now}function onWindowBlur(){var activeElement=document.activeElement;if(isReferenceElement(activeElement)){var instance=activeElement._tippy;activeElement.blur&&!instance.state.isVisible&&activeElement.blur()}}function bindGlobalEventListeners(){document.addEventListener("touchstart",onDocumentTouchStart,TOUCH_OPTIONS),window.addEventListener("blur",onWindowBlur)}var isBrowser=typeof window!="undefined"&&typeof document!="undefined",ua=isBrowser?navigator.userAgent:"",isIE=/MSIE |Trident\//.test(ua);function createMemoryLeakWarning(method){var txt=method==="destroy"?"n already-":" ";return[method+"() was called on a"+txt+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function clean(value){var spacesAndTabs=/[ \t]{2,}/g,lineStartWithSpaces=/^[ \t]*/gm;return value.replace(spacesAndTabs," ").replace(lineStartWithSpaces,"").trim()}function getDevMessage(message){return clean(` +`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "));var commonStyles={placement:getBasePlacement(state.placement),popper:state.elements.popper,popperRect:state.rects.popper,gpuAcceleration};state.modifiersData.popperOffsets!=null&&(state.styles.popper=Object.assign({},state.styles.popper,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.popperOffsets,position:state.options.strategy,adaptive,roundOffsets})))),state.modifiersData.arrow!=null&&(state.styles.arrow=Object.assign({},state.styles.arrow,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets})))),state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-placement":state.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};function applyStyles(_ref){var state=_ref.state;Object.keys(state.elements).forEach(function(name){var style=state.styles[name]||{},attributes=state.attributes[name]||{},element=state.elements[name];!isHTMLElement(element)||!getNodeName(element)||(Object.assign(element.style,style),Object.keys(attributes).forEach(function(name2){var value=attributes[name2];value===!1?element.removeAttribute(name2):element.setAttribute(name2,value===!0?"":value)}))})}function effect$1(_ref2){var state=_ref2.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow),function(){Object.keys(state.elements).forEach(function(name){var element=state.elements[name],attributes=state.attributes[name]||{},styleProperties=Object.keys(state.styles.hasOwnProperty(name)?state.styles[name]:initialStyles[name]),style=styleProperties.reduce(function(style2,property){return style2[property]="",style2},{});!isHTMLElement(element)||!getNodeName(element)||(Object.assign(element.style,style),Object.keys(attributes).forEach(function(attribute){element.removeAttribute(attribute)}))})}}var applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$1,requires:["computeStyles"]};function distanceAndSkiddingToXY(placement,rects,offset2){var basePlacement=getBasePlacement(placement),invertDistance=[left,top].indexOf(basePlacement)>=0?-1:1,_ref=typeof offset2=="function"?offset2(Object.assign({},rects,{placement})):offset2,skidding=_ref[0],distance=_ref[1];return skidding=skidding||0,distance=(distance||0)*invertDistance,[left,right].indexOf(basePlacement)>=0?{x:distance,y:skidding}:{x:skidding,y:distance}}function offset(_ref2){var state=_ref2.state,options=_ref2.options,name=_ref2.name,_options$offset=options.offset,offset2=_options$offset===void 0?[0,0]:_options$offset,data=placements.reduce(function(acc,placement){return acc[placement]=distanceAndSkiddingToXY(placement,state.rects,offset2),acc},{}),_data$state$placement=data[state.placement],x=_data$state$placement.x,y=_data$state$placement.y;state.modifiersData.popperOffsets!=null&&(state.modifiersData.popperOffsets.x+=x,state.modifiersData.popperOffsets.y+=y),state.modifiersData[name]=data}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset},hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,function(matched){return hash$1[matched]})}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(placement){return placement.replace(/start|end/g,function(matched){return hash[matched]})}function computeAutoPlacement(state,options){options===void 0&&(options={});var _options=options,placement=_options.placement,boundary=_options.boundary,rootBoundary=_options.rootBoundary,padding=_options.padding,flipVariations=_options.flipVariations,_options$allowedAutoP=_options.allowedAutoPlacements,allowedAutoPlacements=_options$allowedAutoP===void 0?placements:_options$allowedAutoP,variation=getVariation(placement),placements$1=variation?flipVariations?variationPlacements:variationPlacements.filter(function(placement2){return getVariation(placement2)===variation}):basePlacements,allowedPlacements=placements$1.filter(function(placement2){return allowedAutoPlacements.indexOf(placement2)>=0});allowedPlacements.length===0&&(allowedPlacements=placements$1,console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var overflows=allowedPlacements.reduce(function(acc,placement2){return acc[placement2]=detectOverflow(state,{placement:placement2,boundary,rootBoundary,padding})[getBasePlacement(placement2)],acc},{});return Object.keys(overflows).sort(function(a,b){return overflows[a]-overflows[b]})}function getExpandedFallbackPlacements(placement){if(getBasePlacement(placement)===auto)return[];var oppositePlacement=getOppositePlacement(placement);return[getOppositeVariationPlacement(placement),oppositePlacement,getOppositeVariationPlacement(oppositePlacement)]}function flip(_ref){var state=_ref.state,options=_ref.options,name=_ref.name;if(!state.modifiersData[name]._skip){for(var _options$mainAxis=options.mainAxis,checkMainAxis=_options$mainAxis===void 0?!0:_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=_options$altAxis===void 0?!0:_options$altAxis,specifiedFallbackPlacements=options.fallbackPlacements,padding=options.padding,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,_options$flipVariatio=options.flipVariations,flipVariations=_options$flipVariatio===void 0?!0:_options$flipVariatio,allowedAutoPlacements=options.allowedAutoPlacements,preferredPlacement=state.options.placement,basePlacement=getBasePlacement(preferredPlacement),isBasePlacement=basePlacement===preferredPlacement,fallbackPlacements=specifiedFallbackPlacements||(isBasePlacement||!flipVariations?[getOppositePlacement(preferredPlacement)]:getExpandedFallbackPlacements(preferredPlacement)),placements2=[preferredPlacement].concat(fallbackPlacements).reduce(function(acc,placement2){return acc.concat(getBasePlacement(placement2)===auto?computeAutoPlacement(state,{placement:placement2,boundary,rootBoundary,padding,flipVariations,allowedAutoPlacements}):placement2)},[]),referenceRect=state.rects.reference,popperRect=state.rects.popper,checksMap=new Map,makeFallbackChecks=!0,firstFittingPlacement=placements2[0],i=0;i=0,len=isVertical?"width":"height",overflow=detectOverflow(state,{placement,boundary,rootBoundary,altBoundary,padding}),mainVariationSide=isVertical?isStartVariation?right:left:isStartVariation?bottom:top;referenceRect[len]>popperRect[len]&&(mainVariationSide=getOppositePlacement(mainVariationSide));var altVariationSide=getOppositePlacement(mainVariationSide),checks=[];if(checkMainAxis&&checks.push(overflow[_basePlacement]<=0),checkAltAxis&&checks.push(overflow[mainVariationSide]<=0,overflow[altVariationSide]<=0),checks.every(function(check){return check})){firstFittingPlacement=placement,makeFallbackChecks=!1;break}checksMap.set(placement,checks)}if(makeFallbackChecks)for(var numberOfChecks=flipVariations?3:1,_loop=function(_i2){var fittingPlacement=placements2.find(function(placement2){var checks2=checksMap.get(placement2);if(checks2)return checks2.slice(0,_i2).every(function(check){return check})});if(fittingPlacement)return firstFittingPlacement=fittingPlacement,"break"},_i=numberOfChecks;_i>0;_i--){var _ret=_loop(_i);if(_ret==="break")break}state.placement!==firstFittingPlacement&&(state.modifiersData[name]._skip=!0,state.placement=firstFittingPlacement,state.reset=!0)}}var flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getAltAxis(axis){return axis==="x"?"y":"x"}function within(min$1,value,max$1){return max(min$1,min(value,max$1))}function preventOverflow(_ref){var state=_ref.state,options=_ref.options,name=_ref.name,_options$mainAxis=options.mainAxis,checkMainAxis=_options$mainAxis===void 0?!0:_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=_options$altAxis===void 0?!1:_options$altAxis,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,padding=options.padding,_options$tether=options.tether,tether=_options$tether===void 0?!0:_options$tether,_options$tetherOffset=options.tetherOffset,tetherOffset=_options$tetherOffset===void 0?0:_options$tetherOffset,overflow=detectOverflow(state,{boundary,rootBoundary,padding,altBoundary}),basePlacement=getBasePlacement(state.placement),variation=getVariation(state.placement),isBasePlacement=!variation,mainAxis=getMainAxisFromPlacement(basePlacement),altAxis=getAltAxis(mainAxis),popperOffsets2=state.modifiersData.popperOffsets,referenceRect=state.rects.reference,popperRect=state.rects.popper,tetherOffsetValue=typeof tetherOffset=="function"?tetherOffset(Object.assign({},state.rects,{placement:state.placement})):tetherOffset,data={x:0,y:0};if(!!popperOffsets2){if(checkMainAxis||checkAltAxis){var mainSide=mainAxis==="y"?top:left,altSide=mainAxis==="y"?bottom:right,len=mainAxis==="y"?"height":"width",offset2=popperOffsets2[mainAxis],min$1=popperOffsets2[mainAxis]+overflow[mainSide],max$1=popperOffsets2[mainAxis]-overflow[altSide],additive=tether?-popperRect[len]/2:0,minLen=variation===start?referenceRect[len]:popperRect[len],maxLen=variation===start?-popperRect[len]:-referenceRect[len],arrowElement=state.elements.arrow,arrowRect=tether&&arrowElement?getLayoutRect(arrowElement):{width:0,height:0},arrowPaddingObject=state.modifiersData["arrow#persistent"]?state.modifiersData["arrow#persistent"].padding:getFreshSideObject(),arrowPaddingMin=arrowPaddingObject[mainSide],arrowPaddingMax=arrowPaddingObject[altSide],arrowLen=within(0,referenceRect[len],arrowRect[len]),minOffset=isBasePlacement?referenceRect[len]/2-additive-arrowLen-arrowPaddingMin-tetherOffsetValue:minLen-arrowLen-arrowPaddingMin-tetherOffsetValue,maxOffset=isBasePlacement?-referenceRect[len]/2+additive+arrowLen+arrowPaddingMax+tetherOffsetValue:maxLen+arrowLen+arrowPaddingMax+tetherOffsetValue,arrowOffsetParent=state.elements.arrow&&getOffsetParent(state.elements.arrow),clientOffset=arrowOffsetParent?mainAxis==="y"?arrowOffsetParent.clientTop||0:arrowOffsetParent.clientLeft||0:0,offsetModifierValue=state.modifiersData.offset?state.modifiersData.offset[state.placement][mainAxis]:0,tetherMin=popperOffsets2[mainAxis]+minOffset-offsetModifierValue-clientOffset,tetherMax=popperOffsets2[mainAxis]+maxOffset-offsetModifierValue;if(checkMainAxis){var preventedOffset=within(tether?min(min$1,tetherMin):min$1,offset2,tether?max(max$1,tetherMax):max$1);popperOffsets2[mainAxis]=preventedOffset,data[mainAxis]=preventedOffset-offset2}if(checkAltAxis){var _mainSide=mainAxis==="x"?top:left,_altSide=mainAxis==="x"?bottom:right,_offset=popperOffsets2[altAxis],_min=_offset+overflow[_mainSide],_max=_offset-overflow[_altSide],_preventedOffset=within(tether?min(_min,tetherMin):_min,_offset,tether?max(_max,tetherMax):_max);popperOffsets2[altAxis]=_preventedOffset,data[altAxis]=_preventedOffset-_offset}}state.modifiersData[name]=data}}var preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]},toPaddingObject=function(padding,state){return padding=typeof padding=="function"?padding(Object.assign({},state.rects,{placement:state.placement})):padding,mergePaddingObject(typeof padding!="number"?padding:expandToHashMap(padding,basePlacements))};function arrow(_ref){var _state$modifiersData$,state=_ref.state,name=_ref.name,options=_ref.options,arrowElement=state.elements.arrow,popperOffsets2=state.modifiersData.popperOffsets,basePlacement=getBasePlacement(state.placement),axis=getMainAxisFromPlacement(basePlacement),isVertical=[left,right].indexOf(basePlacement)>=0,len=isVertical?"height":"width";if(!(!arrowElement||!popperOffsets2)){var paddingObject=toPaddingObject(options.padding,state),arrowRect=getLayoutRect(arrowElement),minProp=axis==="y"?top:left,maxProp=axis==="y"?bottom:right,endDiff=state.rects.reference[len]+state.rects.reference[axis]-popperOffsets2[axis]-state.rects.popper[len],startDiff=popperOffsets2[axis]-state.rects.reference[axis],arrowOffsetParent=getOffsetParent(arrowElement),clientSize=arrowOffsetParent?axis==="y"?arrowOffsetParent.clientHeight||0:arrowOffsetParent.clientWidth||0:0,centerToReference=endDiff/2-startDiff/2,min2=paddingObject[minProp],max2=clientSize-arrowRect[len]-paddingObject[maxProp],center=clientSize/2-arrowRect[len]/2+centerToReference,offset2=within(min2,center,max2),axisProp=axis;state.modifiersData[name]=(_state$modifiersData$={},_state$modifiersData$[axisProp]=offset2,_state$modifiersData$.centerOffset=offset2-center,_state$modifiersData$)}}function effect(_ref2){var state=_ref2.state,options=_ref2.options,_options$element=options.element,arrowElement=_options$element===void 0?"[data-popper-arrow]":_options$element;if(arrowElement!=null&&!(typeof arrowElement=="string"&&(arrowElement=state.elements.popper.querySelector(arrowElement),!arrowElement))){if(isHTMLElement(arrowElement)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" ")),!contains(state.elements.popper,arrowElement)){console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" "));return}state.elements.arrow=arrowElement}}var arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getSideOffsets(overflow,rect,preventedOffsets){return preventedOffsets===void 0&&(preventedOffsets={x:0,y:0}),{top:overflow.top-rect.height-preventedOffsets.y,right:overflow.right-rect.width+preventedOffsets.x,bottom:overflow.bottom-rect.height+preventedOffsets.y,left:overflow.left-rect.width-preventedOffsets.x}}function isAnySideFullyClipped(overflow){return[top,right,bottom,left].some(function(side){return overflow[side]>=0})}function hide(_ref){var state=_ref.state,name=_ref.name,referenceRect=state.rects.reference,popperRect=state.rects.popper,preventedOffsets=state.modifiersData.preventOverflow,referenceOverflow=detectOverflow(state,{elementContext:"reference"}),popperAltOverflow=detectOverflow(state,{altBoundary:!0}),referenceClippingOffsets=getSideOffsets(referenceOverflow,referenceRect),popperEscapeOffsets=getSideOffsets(popperAltOverflow,popperRect,preventedOffsets),isReferenceHidden=isAnySideFullyClipped(referenceClippingOffsets),hasPopperEscaped=isAnySideFullyClipped(popperEscapeOffsets);state.modifiersData[name]={referenceClippingOffsets,popperEscapeOffsets,isReferenceHidden,hasPopperEscaped},state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-reference-hidden":isReferenceHidden,"data-popper-escaped":hasPopperEscaped})}var hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide},defaultModifiers$1=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1],createPopper$1=popperGenerator({defaultModifiers:defaultModifiers$1}),defaultModifiers=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1,offset$1,flip$1,preventOverflow$1,arrow$1,hide$1],createPopper=popperGenerator({defaultModifiers});exports.applyStyles=applyStyles$1,exports.arrow=arrow$1,exports.computeStyles=computeStyles$1,exports.createPopper=createPopper,exports.createPopperLite=createPopper$1,exports.defaultModifiers=defaultModifiers,exports.detectOverflow=detectOverflow,exports.eventListeners=eventListeners,exports.flip=flip$1,exports.hide=hide$1,exports.offset=offset$1,exports.popperGenerator=popperGenerator,exports.popperOffsets=popperOffsets$1,exports.preventOverflow=preventOverflow$1}),require_tippy_cjs=__commonJS2(exports=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require_popper(),ROUND_ARROW='',BOX_CLASS="tippy-box",CONTENT_CLASS="tippy-content",BACKDROP_CLASS="tippy-backdrop",ARROW_CLASS="tippy-arrow",SVG_ARROW_CLASS="tippy-svg-arrow",TOUCH_OPTIONS={passive:!0,capture:!0};function hasOwnProperty(obj,key){return{}.hasOwnProperty.call(obj,key)}function getValueAtIndexOrReturn(value,index,defaultValue){if(Array.isArray(value)){var v=value[index];return v??(Array.isArray(defaultValue)?defaultValue[index]:defaultValue)}return value}function isType(value,type){var str={}.toString.call(value);return str.indexOf("[object")===0&&str.indexOf(type+"]")>-1}function invokeWithArgsOrReturn(value,args){return typeof value=="function"?value.apply(void 0,args):value}function debounce(fn,ms){if(ms===0)return fn;var timeout;return function(arg){clearTimeout(timeout),timeout=setTimeout(function(){fn(arg)},ms)}}function removeProperties(obj,keys){var clone=Object.assign({},obj);return keys.forEach(function(key){delete clone[key]}),clone}function splitBySpaces(value){return value.split(/\s+/).filter(Boolean)}function normalizeToArray(value){return[].concat(value)}function pushIfUnique(arr,value){arr.indexOf(value)===-1&&arr.push(value)}function unique(arr){return arr.filter(function(item,index){return arr.indexOf(item)===index})}function getBasePlacement(placement){return placement.split("-")[0]}function arrayFrom(value){return[].slice.call(value)}function removeUndefinedProps(obj){return Object.keys(obj).reduce(function(acc,key){return obj[key]!==void 0&&(acc[key]=obj[key]),acc},{})}function div(){return document.createElement("div")}function isElement(value){return["Element","Fragment"].some(function(type){return isType(value,type)})}function isNodeList(value){return isType(value,"NodeList")}function isMouseEvent(value){return isType(value,"MouseEvent")}function isReferenceElement(value){return!!(value&&value._tippy&&value._tippy.reference===value)}function getArrayOfElements(value){return isElement(value)?[value]:isNodeList(value)?arrayFrom(value):Array.isArray(value)?value:arrayFrom(document.querySelectorAll(value))}function setTransitionDuration(els,value){els.forEach(function(el){el&&(el.style.transitionDuration=value+"ms")})}function setVisibilityState(els,state){els.forEach(function(el){el&&el.setAttribute("data-state",state)})}function getOwnerDocument(elementOrElements){var _element$ownerDocumen,_normalizeToArray=normalizeToArray(elementOrElements),element=_normalizeToArray[0];return(element==null||(_element$ownerDocumen=element.ownerDocument)==null?void 0:_element$ownerDocumen.body)?element.ownerDocument:document}function isCursorOutsideInteractiveBorder(popperTreeData,event){var clientX=event.clientX,clientY=event.clientY;return popperTreeData.every(function(_ref){var popperRect=_ref.popperRect,popperState=_ref.popperState,props=_ref.props,interactiveBorder=props.interactiveBorder,basePlacement=getBasePlacement(popperState.placement),offsetData=popperState.modifiersData.offset;if(!offsetData)return!0;var topDistance=basePlacement==="bottom"?offsetData.top.y:0,bottomDistance=basePlacement==="top"?offsetData.bottom.y:0,leftDistance=basePlacement==="right"?offsetData.left.x:0,rightDistance=basePlacement==="left"?offsetData.right.x:0,exceedsTop=popperRect.top-clientY+topDistance>interactiveBorder,exceedsBottom=clientY-popperRect.bottom-bottomDistance>interactiveBorder,exceedsLeft=popperRect.left-clientX+leftDistance>interactiveBorder,exceedsRight=clientX-popperRect.right-rightDistance>interactiveBorder;return exceedsTop||exceedsBottom||exceedsLeft||exceedsRight})}function updateTransitionEndListener(box,action,listener){var method=action+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(event){box[method](event,listener)})}var currentInput={isTouch:!1},lastMouseMoveTime=0;function onDocumentTouchStart(){currentInput.isTouch||(currentInput.isTouch=!0,window.performance&&document.addEventListener("mousemove",onDocumentMouseMove))}function onDocumentMouseMove(){var now=performance.now();now-lastMouseMoveTime<20&&(currentInput.isTouch=!1,document.removeEventListener("mousemove",onDocumentMouseMove)),lastMouseMoveTime=now}function onWindowBlur(){var activeElement=document.activeElement;if(isReferenceElement(activeElement)){var instance=activeElement._tippy;activeElement.blur&&!instance.state.isVisible&&activeElement.blur()}}function bindGlobalEventListeners(){document.addEventListener("touchstart",onDocumentTouchStart,TOUCH_OPTIONS),window.addEventListener("blur",onWindowBlur)}var isBrowser=typeof window!="undefined"&&typeof document!="undefined",ua=isBrowser?navigator.userAgent:"",isIE=/MSIE |Trident\//.test(ua);function createMemoryLeakWarning(method){var txt=method==="destroy"?"n already-":" ";return[method+"() was called on a"+txt+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function clean(value){var spacesAndTabs=/[ \t]{2,}/g,lineStartWithSpaces=/^[ \t]*/gm;return value.replace(spacesAndTabs," ").replace(lineStartWithSpaces,"").trim()}function getDevMessage(message){return clean(` %ctippy.js %c`+clean(message)+` %c\u{1F477}\u200D This is a development-only message. It will be removed in production. - `)}function getFormattedMessage(message){return[getDevMessage(message),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var visitedMessages;resetVisitedMessages();function resetVisitedMessages(){visitedMessages=new Set}function warnWhen(condition,message){if(condition&&!visitedMessages.has(message)){var _console;visitedMessages.add(message),(_console=console).warn.apply(_console,getFormattedMessage(message))}}function errorWhen(condition,message){if(condition&&!visitedMessages.has(message)){var _console2;visitedMessages.add(message),(_console2=console).error.apply(_console2,getFormattedMessage(message))}}function validateTargets(targets){var didPassFalsyValue=!targets,didPassPlainObject=Object.prototype.toString.call(targets)==="[object Object]"&&!targets.addEventListener;errorWhen(didPassFalsyValue,["tippy() was passed","`"+String(targets)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),errorWhen(didPassPlainObject,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var pluginProps={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},renderProps={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},defaultProps=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},pluginProps,{},renderProps),defaultKeys=Object.keys(defaultProps),setDefaultProps=function(partialProps){validateProps(partialProps,[]);var keys=Object.keys(partialProps);keys.forEach(function(key){defaultProps[key]=partialProps[key]})};function getExtendedPassedProps(passedProps){var plugins2=passedProps.plugins||[],pluginProps2=plugins2.reduce(function(acc,plugin){var name=plugin.name,defaultValue=plugin.defaultValue;return name&&(acc[name]=passedProps[name]!==void 0?passedProps[name]:defaultValue),acc},{});return Object.assign({},passedProps,{},pluginProps2)}function getDataAttributeProps(reference,plugins2){var propKeys=plugins2?Object.keys(getExtendedPassedProps(Object.assign({},defaultProps,{plugins:plugins2}))):defaultKeys,props=propKeys.reduce(function(acc,key){var valueAsString=(reference.getAttribute("data-tippy-"+key)||"").trim();if(!valueAsString)return acc;if(key==="content")acc[key]=valueAsString;else try{acc[key]=JSON.parse(valueAsString)}catch(e){acc[key]=valueAsString}return acc},{});return props}function evaluateProps(reference,props){var out=Object.assign({},props,{content:invokeWithArgsOrReturn(props.content,[reference])},props.ignoreAttributes?{}:getDataAttributeProps(reference,props.plugins));return out.aria=Object.assign({},defaultProps.aria,{},out.aria),out.aria={expanded:out.aria.expanded==="auto"?props.interactive:out.aria.expanded,content:out.aria.content==="auto"?props.interactive?null:"describedby":out.aria.content},out}function validateProps(partialProps,plugins2){partialProps===void 0&&(partialProps={}),plugins2===void 0&&(plugins2=[]);var keys=Object.keys(partialProps);keys.forEach(function(prop){var nonPluginProps=removeProperties(defaultProps,Object.keys(pluginProps)),didPassUnknownProp=!hasOwnProperty(nonPluginProps,prop);didPassUnknownProp&&(didPassUnknownProp=plugins2.filter(function(plugin){return plugin.name===prop}).length===0),warnWhen(didPassUnknownProp,["`"+prop+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",` + `)}function getFormattedMessage(message){return[getDevMessage(message),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var visitedMessages;resetVisitedMessages();function resetVisitedMessages(){visitedMessages=new Set}function warnWhen(condition,message){if(condition&&!visitedMessages.has(message)){var _console;visitedMessages.add(message),(_console=console).warn.apply(_console,getFormattedMessage(message))}}function errorWhen(condition,message){if(condition&&!visitedMessages.has(message)){var _console2;visitedMessages.add(message),(_console2=console).error.apply(_console2,getFormattedMessage(message))}}function validateTargets(targets){var didPassFalsyValue=!targets,didPassPlainObject=Object.prototype.toString.call(targets)==="[object Object]"&&!targets.addEventListener;errorWhen(didPassFalsyValue,["tippy() was passed","`"+String(targets)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),errorWhen(didPassPlainObject,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var pluginProps={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},renderProps={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},defaultProps=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},pluginProps,{},renderProps),defaultKeys=Object.keys(defaultProps),setDefaultProps=function(partialProps){validateProps(partialProps,[]);var keys=Object.keys(partialProps);keys.forEach(function(key){defaultProps[key]=partialProps[key]})};function getExtendedPassedProps(passedProps){var plugins=passedProps.plugins||[],pluginProps2=plugins.reduce(function(acc,plugin){var name=plugin.name,defaultValue=plugin.defaultValue;return name&&(acc[name]=passedProps[name]!==void 0?passedProps[name]:defaultValue),acc},{});return Object.assign({},passedProps,{},pluginProps2)}function getDataAttributeProps(reference,plugins){var propKeys=plugins?Object.keys(getExtendedPassedProps(Object.assign({},defaultProps,{plugins}))):defaultKeys,props=propKeys.reduce(function(acc,key){var valueAsString=(reference.getAttribute("data-tippy-"+key)||"").trim();if(!valueAsString)return acc;if(key==="content")acc[key]=valueAsString;else try{acc[key]=JSON.parse(valueAsString)}catch(e){acc[key]=valueAsString}return acc},{});return props}function evaluateProps(reference,props){var out=Object.assign({},props,{content:invokeWithArgsOrReturn(props.content,[reference])},props.ignoreAttributes?{}:getDataAttributeProps(reference,props.plugins));return out.aria=Object.assign({},defaultProps.aria,{},out.aria),out.aria={expanded:out.aria.expanded==="auto"?props.interactive:out.aria.expanded,content:out.aria.content==="auto"?props.interactive?null:"describedby":out.aria.content},out}function validateProps(partialProps,plugins){partialProps===void 0&&(partialProps={}),plugins===void 0&&(plugins=[]);var keys=Object.keys(partialProps);keys.forEach(function(prop){var nonPluginProps=removeProperties(defaultProps,Object.keys(pluginProps)),didPassUnknownProp=!hasOwnProperty(nonPluginProps,prop);didPassUnknownProp&&(didPassUnknownProp=plugins.filter(function(plugin){return plugin.name===prop}).length===0),warnWhen(didPassUnknownProp,["`"+prop+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",` `,`All props: https://atomiks.github.io/tippyjs/v6/all-props/ -`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var innerHTML=function(){return"innerHTML"};function dangerouslySetInnerHTML(element,html){element[innerHTML()]=html}function createArrowElement(value){var arrow=div();return value===!0?arrow.className=ARROW_CLASS:(arrow.className=SVG_ARROW_CLASS,isElement(value)?arrow.appendChild(value):dangerouslySetInnerHTML(arrow,value)),arrow}function setContent(content,props){isElement(props.content)?(dangerouslySetInnerHTML(content,""),content.appendChild(props.content)):typeof props.content!="function"&&(props.allowHTML?dangerouslySetInnerHTML(content,props.content):content.textContent=props.content)}function getChildren(popper){var box=popper.firstElementChild,boxChildren=arrayFrom(box.children);return{box,content:boxChildren.find(function(node){return node.classList.contains(CONTENT_CLASS)}),arrow:boxChildren.find(function(node){return node.classList.contains(ARROW_CLASS)||node.classList.contains(SVG_ARROW_CLASS)}),backdrop:boxChildren.find(function(node){return node.classList.contains(BACKDROP_CLASS)})}}function render(instance){var popper=div(),box=div();box.className=BOX_CLASS,box.setAttribute("data-state","hidden"),box.setAttribute("tabindex","-1");var content=div();content.className=CONTENT_CLASS,content.setAttribute("data-state","hidden"),setContent(content,instance.props),popper.appendChild(box),box.appendChild(content),onUpdate(instance.props,instance.props);function onUpdate(prevProps,nextProps){var _getChildren=getChildren(popper),box2=_getChildren.box,content2=_getChildren.content,arrow=_getChildren.arrow;nextProps.theme?box2.setAttribute("data-theme",nextProps.theme):box2.removeAttribute("data-theme"),typeof nextProps.animation=="string"?box2.setAttribute("data-animation",nextProps.animation):box2.removeAttribute("data-animation"),nextProps.inertia?box2.setAttribute("data-inertia",""):box2.removeAttribute("data-inertia"),box2.style.maxWidth=typeof nextProps.maxWidth=="number"?nextProps.maxWidth+"px":nextProps.maxWidth,nextProps.role?box2.setAttribute("role",nextProps.role):box2.removeAttribute("role"),(prevProps.content!==nextProps.content||prevProps.allowHTML!==nextProps.allowHTML)&&setContent(content2,instance.props),nextProps.arrow?arrow?prevProps.arrow!==nextProps.arrow&&(box2.removeChild(arrow),box2.appendChild(createArrowElement(nextProps.arrow))):box2.appendChild(createArrowElement(nextProps.arrow)):arrow&&box2.removeChild(arrow)}return{popper,onUpdate}}render.$$tippy=!0;var idCounter=1,mouseMoveListeners=[],mountedInstances=[];function createTippy(reference,passedProps){var props=evaluateProps(reference,Object.assign({},defaultProps,{},getExtendedPassedProps(removeUndefinedProps(passedProps)))),showTimeout,hideTimeout,scheduleHideAnimationFrame,isVisibleFromClick=!1,didHideDueToDocumentMouseDown=!1,didTouchMove=!1,ignoreOnFirstUpdate=!1,lastTriggerEvent,currentTransitionEndListener,onFirstUpdate,listeners=[],debouncedOnMouseMove=debounce2(onMouseMove,props.interactiveDebounce),currentTarget,id=idCounter++,popperInstance=null,plugins2=unique(props.plugins),state={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},instance={id,reference,popper:div(),popperInstance,props,state,plugins:plugins2,clearDelayTimeouts,setProps,setContent:setContent2,show,hide,hideWithInteractivity,enable,disable,unmount,destroy};if(!props.render)return errorWhen(!0,"render() function has not been supplied."),instance;var _props$render=props.render(instance),popper=_props$render.popper,onUpdate=_props$render.onUpdate;popper.setAttribute("data-tippy-root",""),popper.id="tippy-"+instance.id,instance.popper=popper,reference._tippy=instance,popper._tippy=instance;var pluginsHooks=plugins2.map(function(plugin){return plugin.fn(instance)}),hasAriaExpanded=reference.hasAttribute("aria-expanded");return addListeners(),handleAriaExpandedAttribute(),handleStyles(),invokeHook("onCreate",[instance]),props.showOnCreate&&scheduleShow(),popper.addEventListener("mouseenter",function(){instance.props.interactive&&instance.state.isVisible&&instance.clearDelayTimeouts()}),popper.addEventListener("mouseleave",function(event){instance.props.interactive&&instance.props.trigger.indexOf("mouseenter")>=0&&(getDocument().addEventListener("mousemove",debouncedOnMouseMove),debouncedOnMouseMove(event))}),instance;function getNormalizedTouchSettings(){var touch=instance.props.touch;return Array.isArray(touch)?touch:[touch,0]}function getIsCustomTouchBehavior(){return getNormalizedTouchSettings()[0]==="hold"}function getIsDefaultRenderFn(){var _instance$props$rende;return!!((_instance$props$rende=instance.props.render)==null?void 0:_instance$props$rende.$$tippy)}function getCurrentTarget(){return currentTarget||reference}function getDocument(){var parent=getCurrentTarget().parentNode;return parent?getOwnerDocument(parent):document}function getDefaultTemplateChildren(){return getChildren(popper)}function getDelay(isShow){return instance.state.isMounted&&!instance.state.isVisible||currentInput.isTouch||lastTriggerEvent&&lastTriggerEvent.type==="focus"?0:getValueAtIndexOrReturn(instance.props.delay,isShow?0:1,defaultProps.delay)}function handleStyles(){popper.style.pointerEvents=instance.props.interactive&&instance.state.isVisible?"":"none",popper.style.zIndex=""+instance.props.zIndex}function invokeHook(hook,args,shouldInvokePropsHook){if(shouldInvokePropsHook===void 0&&(shouldInvokePropsHook=!0),pluginsHooks.forEach(function(pluginHooks){pluginHooks[hook]&&pluginHooks[hook].apply(void 0,args)}),shouldInvokePropsHook){var _instance$props;(_instance$props=instance.props)[hook].apply(_instance$props,args)}}function handleAriaContentAttribute(){var aria=instance.props.aria;if(!!aria.content){var attr="aria-"+aria.content,id2=popper.id,nodes=normalizeToArray(instance.props.triggerTarget||reference);nodes.forEach(function(node){var currentValue=node.getAttribute(attr);if(instance.state.isVisible)node.setAttribute(attr,currentValue?currentValue+" "+id2:id2);else{var nextValue=currentValue&¤tValue.replace(id2,"").trim();nextValue?node.setAttribute(attr,nextValue):node.removeAttribute(attr)}})}}function handleAriaExpandedAttribute(){if(!(hasAriaExpanded||!instance.props.aria.expanded)){var nodes=normalizeToArray(instance.props.triggerTarget||reference);nodes.forEach(function(node){instance.props.interactive?node.setAttribute("aria-expanded",instance.state.isVisible&&node===getCurrentTarget()?"true":"false"):node.removeAttribute("aria-expanded")})}}function cleanupInteractiveMouseListeners(){getDocument().removeEventListener("mousemove",debouncedOnMouseMove),mouseMoveListeners=mouseMoveListeners.filter(function(listener){return listener!==debouncedOnMouseMove})}function onDocumentPress(event){if(!(currentInput.isTouch&&(didTouchMove||event.type==="mousedown"))&&!(instance.props.interactive&&popper.contains(event.target))){if(getCurrentTarget().contains(event.target)){if(currentInput.isTouch||instance.state.isVisible&&instance.props.trigger.indexOf("click")>=0)return}else invokeHook("onClickOutside",[instance,event]);instance.props.hideOnClick===!0&&(instance.clearDelayTimeouts(),instance.hide(),didHideDueToDocumentMouseDown=!0,setTimeout(function(){didHideDueToDocumentMouseDown=!1}),instance.state.isMounted||removeDocumentPress())}}function onTouchMove(){didTouchMove=!0}function onTouchStart(){didTouchMove=!1}function addDocumentPress(){var doc=getDocument();doc.addEventListener("mousedown",onDocumentPress,!0),doc.addEventListener("touchend",onDocumentPress,TOUCH_OPTIONS),doc.addEventListener("touchstart",onTouchStart,TOUCH_OPTIONS),doc.addEventListener("touchmove",onTouchMove,TOUCH_OPTIONS)}function removeDocumentPress(){var doc=getDocument();doc.removeEventListener("mousedown",onDocumentPress,!0),doc.removeEventListener("touchend",onDocumentPress,TOUCH_OPTIONS),doc.removeEventListener("touchstart",onTouchStart,TOUCH_OPTIONS),doc.removeEventListener("touchmove",onTouchMove,TOUCH_OPTIONS)}function onTransitionedOut(duration,callback2){onTransitionEnd(duration,function(){!instance.state.isVisible&&popper.parentNode&&popper.parentNode.contains(popper)&&callback2()})}function onTransitionedIn(duration,callback2){onTransitionEnd(duration,callback2)}function onTransitionEnd(duration,callback2){var box=getDefaultTemplateChildren().box;function listener(event){event.target===box&&(updateTransitionEndListener(box,"remove",listener),callback2())}if(duration===0)return callback2();updateTransitionEndListener(box,"remove",currentTransitionEndListener),updateTransitionEndListener(box,"add",listener),currentTransitionEndListener=listener}function on(eventType,handler,options){options===void 0&&(options=!1);var nodes=normalizeToArray(instance.props.triggerTarget||reference);nodes.forEach(function(node){node.addEventListener(eventType,handler,options),listeners.push({node,eventType,handler,options})})}function addListeners(){getIsCustomTouchBehavior()&&(on("touchstart",onTrigger,{passive:!0}),on("touchend",onMouseLeave,{passive:!0})),splitBySpaces(instance.props.trigger).forEach(function(eventType){if(eventType!=="manual")switch(on(eventType,onTrigger),eventType){case"mouseenter":on("mouseleave",onMouseLeave);break;case"focus":on(isIE?"focusout":"blur",onBlurOrFocusOut);break;case"focusin":on("focusout",onBlurOrFocusOut);break}})}function removeListeners(){listeners.forEach(function(_ref){var node=_ref.node,eventType=_ref.eventType,handler=_ref.handler,options=_ref.options;node.removeEventListener(eventType,handler,options)}),listeners=[]}function onTrigger(event){var _lastTriggerEvent,shouldScheduleClickHide=!1;if(!(!instance.state.isEnabled||isEventListenerStopped(event)||didHideDueToDocumentMouseDown)){var wasFocused=((_lastTriggerEvent=lastTriggerEvent)==null?void 0:_lastTriggerEvent.type)==="focus";lastTriggerEvent=event,currentTarget=event.currentTarget,handleAriaExpandedAttribute(),!instance.state.isVisible&&isMouseEvent(event)&&mouseMoveListeners.forEach(function(listener){return listener(event)}),event.type==="click"&&(instance.props.trigger.indexOf("mouseenter")<0||isVisibleFromClick)&&instance.props.hideOnClick!==!1&&instance.state.isVisible?shouldScheduleClickHide=!0:scheduleShow(event),event.type==="click"&&(isVisibleFromClick=!shouldScheduleClickHide),shouldScheduleClickHide&&!wasFocused&&scheduleHide(event)}}function onMouseMove(event){var target=event.target,isCursorOverReferenceOrPopper=getCurrentTarget().contains(target)||popper.contains(target);if(!(event.type==="mousemove"&&isCursorOverReferenceOrPopper)){var popperTreeData=getNestedPopperTree().concat(popper).map(function(popper2){var _instance$popperInsta,instance2=popper2._tippy,state2=(_instance$popperInsta=instance2.popperInstance)==null?void 0:_instance$popperInsta.state;return state2?{popperRect:popper2.getBoundingClientRect(),popperState:state2,props}:null}).filter(Boolean);isCursorOutsideInteractiveBorder(popperTreeData,event)&&(cleanupInteractiveMouseListeners(),scheduleHide(event))}}function onMouseLeave(event){var shouldBail=isEventListenerStopped(event)||instance.props.trigger.indexOf("click")>=0&&isVisibleFromClick;if(!shouldBail){if(instance.props.interactive){instance.hideWithInteractivity(event);return}scheduleHide(event)}}function onBlurOrFocusOut(event){instance.props.trigger.indexOf("focusin")<0&&event.target!==getCurrentTarget()||instance.props.interactive&&event.relatedTarget&&popper.contains(event.relatedTarget)||scheduleHide(event)}function isEventListenerStopped(event){return currentInput.isTouch?getIsCustomTouchBehavior()!==event.type.indexOf("touch")>=0:!1}function createPopperInstance(){destroyPopperInstance();var _instance$props2=instance.props,popperOptions=_instance$props2.popperOptions,placement=_instance$props2.placement,offset=_instance$props2.offset,getReferenceClientRect=_instance$props2.getReferenceClientRect,moveTransition=_instance$props2.moveTransition,arrow=getIsDefaultRenderFn()?getChildren(popper).arrow:null,computedReference=getReferenceClientRect?{getBoundingClientRect:getReferenceClientRect,contextElement:getReferenceClientRect.contextElement||getCurrentTarget()}:reference,tippyModifier={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(_ref2){var state2=_ref2.state;if(getIsDefaultRenderFn()){var _getDefaultTemplateCh=getDefaultTemplateChildren(),box=_getDefaultTemplateCh.box;["placement","reference-hidden","escaped"].forEach(function(attr){attr==="placement"?box.setAttribute("data-placement",state2.placement):state2.attributes.popper["data-popper-"+attr]?box.setAttribute("data-"+attr,""):box.removeAttribute("data-"+attr)}),state2.attributes.popper={}}}},modifiers=[{name:"offset",options:{offset}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!moveTransition}},tippyModifier];getIsDefaultRenderFn()&&arrow&&modifiers.push({name:"arrow",options:{element:arrow,padding:3}}),modifiers.push.apply(modifiers,(popperOptions==null?void 0:popperOptions.modifiers)||[]),instance.popperInstance=core.createPopper(computedReference,popper,Object.assign({},popperOptions,{placement,onFirstUpdate,modifiers}))}function destroyPopperInstance(){instance.popperInstance&&(instance.popperInstance.destroy(),instance.popperInstance=null)}function mount(){var appendTo=instance.props.appendTo,parentNode,node=getCurrentTarget();instance.props.interactive&&appendTo===defaultProps.appendTo||appendTo==="parent"?parentNode=node.parentNode:parentNode=invokeWithArgsOrReturn(appendTo,[node]),parentNode.contains(popper)||parentNode.appendChild(popper),createPopperInstance(),warnWhen(instance.props.interactive&&appendTo===defaultProps.appendTo&&node.nextElementSibling!==popper,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",` +`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var innerHTML=function(){return"innerHTML"};function dangerouslySetInnerHTML(element,html){element[innerHTML()]=html}function createArrowElement(value){var arrow=div();return value===!0?arrow.className=ARROW_CLASS:(arrow.className=SVG_ARROW_CLASS,isElement(value)?arrow.appendChild(value):dangerouslySetInnerHTML(arrow,value)),arrow}function setContent(content,props){isElement(props.content)?(dangerouslySetInnerHTML(content,""),content.appendChild(props.content)):typeof props.content!="function"&&(props.allowHTML?dangerouslySetInnerHTML(content,props.content):content.textContent=props.content)}function getChildren(popper){var box=popper.firstElementChild,boxChildren=arrayFrom(box.children);return{box,content:boxChildren.find(function(node){return node.classList.contains(CONTENT_CLASS)}),arrow:boxChildren.find(function(node){return node.classList.contains(ARROW_CLASS)||node.classList.contains(SVG_ARROW_CLASS)}),backdrop:boxChildren.find(function(node){return node.classList.contains(BACKDROP_CLASS)})}}function render(instance){var popper=div(),box=div();box.className=BOX_CLASS,box.setAttribute("data-state","hidden"),box.setAttribute("tabindex","-1");var content=div();content.className=CONTENT_CLASS,content.setAttribute("data-state","hidden"),setContent(content,instance.props),popper.appendChild(box),box.appendChild(content),onUpdate(instance.props,instance.props);function onUpdate(prevProps,nextProps){var _getChildren=getChildren(popper),box2=_getChildren.box,content2=_getChildren.content,arrow=_getChildren.arrow;nextProps.theme?box2.setAttribute("data-theme",nextProps.theme):box2.removeAttribute("data-theme"),typeof nextProps.animation=="string"?box2.setAttribute("data-animation",nextProps.animation):box2.removeAttribute("data-animation"),nextProps.inertia?box2.setAttribute("data-inertia",""):box2.removeAttribute("data-inertia"),box2.style.maxWidth=typeof nextProps.maxWidth=="number"?nextProps.maxWidth+"px":nextProps.maxWidth,nextProps.role?box2.setAttribute("role",nextProps.role):box2.removeAttribute("role"),(prevProps.content!==nextProps.content||prevProps.allowHTML!==nextProps.allowHTML)&&setContent(content2,instance.props),nextProps.arrow?arrow?prevProps.arrow!==nextProps.arrow&&(box2.removeChild(arrow),box2.appendChild(createArrowElement(nextProps.arrow))):box2.appendChild(createArrowElement(nextProps.arrow)):arrow&&box2.removeChild(arrow)}return{popper,onUpdate}}render.$$tippy=!0;var idCounter=1,mouseMoveListeners=[],mountedInstances=[];function createTippy(reference,passedProps){var props=evaluateProps(reference,Object.assign({},defaultProps,{},getExtendedPassedProps(removeUndefinedProps(passedProps)))),showTimeout,hideTimeout,scheduleHideAnimationFrame,isVisibleFromClick=!1,didHideDueToDocumentMouseDown=!1,didTouchMove=!1,ignoreOnFirstUpdate=!1,lastTriggerEvent,currentTransitionEndListener,onFirstUpdate,listeners=[],debouncedOnMouseMove=debounce(onMouseMove,props.interactiveDebounce),currentTarget,id=idCounter++,popperInstance=null,plugins=unique(props.plugins),state={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},instance={id,reference,popper:div(),popperInstance,props,state,plugins,clearDelayTimeouts,setProps,setContent:setContent2,show,hide,hideWithInteractivity,enable,disable,unmount,destroy};if(!props.render)return errorWhen(!0,"render() function has not been supplied."),instance;var _props$render=props.render(instance),popper=_props$render.popper,onUpdate=_props$render.onUpdate;popper.setAttribute("data-tippy-root",""),popper.id="tippy-"+instance.id,instance.popper=popper,reference._tippy=instance,popper._tippy=instance;var pluginsHooks=plugins.map(function(plugin){return plugin.fn(instance)}),hasAriaExpanded=reference.hasAttribute("aria-expanded");return addListeners(),handleAriaExpandedAttribute(),handleStyles(),invokeHook("onCreate",[instance]),props.showOnCreate&&scheduleShow(),popper.addEventListener("mouseenter",function(){instance.props.interactive&&instance.state.isVisible&&instance.clearDelayTimeouts()}),popper.addEventListener("mouseleave",function(event){instance.props.interactive&&instance.props.trigger.indexOf("mouseenter")>=0&&(getDocument().addEventListener("mousemove",debouncedOnMouseMove),debouncedOnMouseMove(event))}),instance;function getNormalizedTouchSettings(){var touch=instance.props.touch;return Array.isArray(touch)?touch:[touch,0]}function getIsCustomTouchBehavior(){return getNormalizedTouchSettings()[0]==="hold"}function getIsDefaultRenderFn(){var _instance$props$rende;return!!((_instance$props$rende=instance.props.render)==null?void 0:_instance$props$rende.$$tippy)}function getCurrentTarget(){return currentTarget||reference}function getDocument(){var parent=getCurrentTarget().parentNode;return parent?getOwnerDocument(parent):document}function getDefaultTemplateChildren(){return getChildren(popper)}function getDelay(isShow){return instance.state.isMounted&&!instance.state.isVisible||currentInput.isTouch||lastTriggerEvent&&lastTriggerEvent.type==="focus"?0:getValueAtIndexOrReturn(instance.props.delay,isShow?0:1,defaultProps.delay)}function handleStyles(){popper.style.pointerEvents=instance.props.interactive&&instance.state.isVisible?"":"none",popper.style.zIndex=""+instance.props.zIndex}function invokeHook(hook,args,shouldInvokePropsHook){if(shouldInvokePropsHook===void 0&&(shouldInvokePropsHook=!0),pluginsHooks.forEach(function(pluginHooks){pluginHooks[hook]&&pluginHooks[hook].apply(void 0,args)}),shouldInvokePropsHook){var _instance$props;(_instance$props=instance.props)[hook].apply(_instance$props,args)}}function handleAriaContentAttribute(){var aria=instance.props.aria;if(!!aria.content){var attr="aria-"+aria.content,id2=popper.id,nodes=normalizeToArray(instance.props.triggerTarget||reference);nodes.forEach(function(node){var currentValue=node.getAttribute(attr);if(instance.state.isVisible)node.setAttribute(attr,currentValue?currentValue+" "+id2:id2);else{var nextValue=currentValue&¤tValue.replace(id2,"").trim();nextValue?node.setAttribute(attr,nextValue):node.removeAttribute(attr)}})}}function handleAriaExpandedAttribute(){if(!(hasAriaExpanded||!instance.props.aria.expanded)){var nodes=normalizeToArray(instance.props.triggerTarget||reference);nodes.forEach(function(node){instance.props.interactive?node.setAttribute("aria-expanded",instance.state.isVisible&&node===getCurrentTarget()?"true":"false"):node.removeAttribute("aria-expanded")})}}function cleanupInteractiveMouseListeners(){getDocument().removeEventListener("mousemove",debouncedOnMouseMove),mouseMoveListeners=mouseMoveListeners.filter(function(listener){return listener!==debouncedOnMouseMove})}function onDocumentPress(event){if(!(currentInput.isTouch&&(didTouchMove||event.type==="mousedown"))&&!(instance.props.interactive&&popper.contains(event.target))){if(getCurrentTarget().contains(event.target)){if(currentInput.isTouch||instance.state.isVisible&&instance.props.trigger.indexOf("click")>=0)return}else invokeHook("onClickOutside",[instance,event]);instance.props.hideOnClick===!0&&(instance.clearDelayTimeouts(),instance.hide(),didHideDueToDocumentMouseDown=!0,setTimeout(function(){didHideDueToDocumentMouseDown=!1}),instance.state.isMounted||removeDocumentPress())}}function onTouchMove(){didTouchMove=!0}function onTouchStart(){didTouchMove=!1}function addDocumentPress(){var doc=getDocument();doc.addEventListener("mousedown",onDocumentPress,!0),doc.addEventListener("touchend",onDocumentPress,TOUCH_OPTIONS),doc.addEventListener("touchstart",onTouchStart,TOUCH_OPTIONS),doc.addEventListener("touchmove",onTouchMove,TOUCH_OPTIONS)}function removeDocumentPress(){var doc=getDocument();doc.removeEventListener("mousedown",onDocumentPress,!0),doc.removeEventListener("touchend",onDocumentPress,TOUCH_OPTIONS),doc.removeEventListener("touchstart",onTouchStart,TOUCH_OPTIONS),doc.removeEventListener("touchmove",onTouchMove,TOUCH_OPTIONS)}function onTransitionedOut(duration,callback){onTransitionEnd(duration,function(){!instance.state.isVisible&&popper.parentNode&&popper.parentNode.contains(popper)&&callback()})}function onTransitionedIn(duration,callback){onTransitionEnd(duration,callback)}function onTransitionEnd(duration,callback){var box=getDefaultTemplateChildren().box;function listener(event){event.target===box&&(updateTransitionEndListener(box,"remove",listener),callback())}if(duration===0)return callback();updateTransitionEndListener(box,"remove",currentTransitionEndListener),updateTransitionEndListener(box,"add",listener),currentTransitionEndListener=listener}function on(eventType,handler,options){options===void 0&&(options=!1);var nodes=normalizeToArray(instance.props.triggerTarget||reference);nodes.forEach(function(node){node.addEventListener(eventType,handler,options),listeners.push({node,eventType,handler,options})})}function addListeners(){getIsCustomTouchBehavior()&&(on("touchstart",onTrigger,{passive:!0}),on("touchend",onMouseLeave,{passive:!0})),splitBySpaces(instance.props.trigger).forEach(function(eventType){if(eventType!=="manual")switch(on(eventType,onTrigger),eventType){case"mouseenter":on("mouseleave",onMouseLeave);break;case"focus":on(isIE?"focusout":"blur",onBlurOrFocusOut);break;case"focusin":on("focusout",onBlurOrFocusOut);break}})}function removeListeners(){listeners.forEach(function(_ref){var node=_ref.node,eventType=_ref.eventType,handler=_ref.handler,options=_ref.options;node.removeEventListener(eventType,handler,options)}),listeners=[]}function onTrigger(event){var _lastTriggerEvent,shouldScheduleClickHide=!1;if(!(!instance.state.isEnabled||isEventListenerStopped(event)||didHideDueToDocumentMouseDown)){var wasFocused=((_lastTriggerEvent=lastTriggerEvent)==null?void 0:_lastTriggerEvent.type)==="focus";lastTriggerEvent=event,currentTarget=event.currentTarget,handleAriaExpandedAttribute(),!instance.state.isVisible&&isMouseEvent(event)&&mouseMoveListeners.forEach(function(listener){return listener(event)}),event.type==="click"&&(instance.props.trigger.indexOf("mouseenter")<0||isVisibleFromClick)&&instance.props.hideOnClick!==!1&&instance.state.isVisible?shouldScheduleClickHide=!0:scheduleShow(event),event.type==="click"&&(isVisibleFromClick=!shouldScheduleClickHide),shouldScheduleClickHide&&!wasFocused&&scheduleHide(event)}}function onMouseMove(event){var target=event.target,isCursorOverReferenceOrPopper=getCurrentTarget().contains(target)||popper.contains(target);if(!(event.type==="mousemove"&&isCursorOverReferenceOrPopper)){var popperTreeData=getNestedPopperTree().concat(popper).map(function(popper2){var _instance$popperInsta,instance2=popper2._tippy,state2=(_instance$popperInsta=instance2.popperInstance)==null?void 0:_instance$popperInsta.state;return state2?{popperRect:popper2.getBoundingClientRect(),popperState:state2,props}:null}).filter(Boolean);isCursorOutsideInteractiveBorder(popperTreeData,event)&&(cleanupInteractiveMouseListeners(),scheduleHide(event))}}function onMouseLeave(event){var shouldBail=isEventListenerStopped(event)||instance.props.trigger.indexOf("click")>=0&&isVisibleFromClick;if(!shouldBail){if(instance.props.interactive){instance.hideWithInteractivity(event);return}scheduleHide(event)}}function onBlurOrFocusOut(event){instance.props.trigger.indexOf("focusin")<0&&event.target!==getCurrentTarget()||instance.props.interactive&&event.relatedTarget&&popper.contains(event.relatedTarget)||scheduleHide(event)}function isEventListenerStopped(event){return currentInput.isTouch?getIsCustomTouchBehavior()!==event.type.indexOf("touch")>=0:!1}function createPopperInstance(){destroyPopperInstance();var _instance$props2=instance.props,popperOptions=_instance$props2.popperOptions,placement=_instance$props2.placement,offset=_instance$props2.offset,getReferenceClientRect=_instance$props2.getReferenceClientRect,moveTransition=_instance$props2.moveTransition,arrow=getIsDefaultRenderFn()?getChildren(popper).arrow:null,computedReference=getReferenceClientRect?{getBoundingClientRect:getReferenceClientRect,contextElement:getReferenceClientRect.contextElement||getCurrentTarget()}:reference,tippyModifier={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(_ref2){var state2=_ref2.state;if(getIsDefaultRenderFn()){var _getDefaultTemplateCh=getDefaultTemplateChildren(),box=_getDefaultTemplateCh.box;["placement","reference-hidden","escaped"].forEach(function(attr){attr==="placement"?box.setAttribute("data-placement",state2.placement):state2.attributes.popper["data-popper-"+attr]?box.setAttribute("data-"+attr,""):box.removeAttribute("data-"+attr)}),state2.attributes.popper={}}}},modifiers=[{name:"offset",options:{offset}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!moveTransition}},tippyModifier];getIsDefaultRenderFn()&&arrow&&modifiers.push({name:"arrow",options:{element:arrow,padding:3}}),modifiers.push.apply(modifiers,(popperOptions==null?void 0:popperOptions.modifiers)||[]),instance.popperInstance=core.createPopper(computedReference,popper,Object.assign({},popperOptions,{placement,onFirstUpdate,modifiers}))}function destroyPopperInstance(){instance.popperInstance&&(instance.popperInstance.destroy(),instance.popperInstance=null)}function mount(){var appendTo=instance.props.appendTo,parentNode,node=getCurrentTarget();instance.props.interactive&&appendTo===defaultProps.appendTo||appendTo==="parent"?parentNode=node.parentNode:parentNode=invokeWithArgsOrReturn(appendTo,[node]),parentNode.contains(popper)||parentNode.appendChild(popper),createPopperInstance(),warnWhen(instance.props.interactive&&appendTo===defaultProps.appendTo&&node.nextElementSibling!==popper,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",` `,"Using a wrapper
or tag around the reference element","solves this by creating a new parentNode context.",` `,"Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.",` -`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function getNestedPopperTree(){return arrayFrom(popper.querySelectorAll("[data-tippy-root]"))}function scheduleShow(event){instance.clearDelayTimeouts(),event&&invokeHook("onTrigger",[instance,event]),addDocumentPress();var delay3=getDelay(!0),_getNormalizedTouchSe=getNormalizedTouchSettings(),touchValue=_getNormalizedTouchSe[0],touchDelay=_getNormalizedTouchSe[1];currentInput.isTouch&&touchValue==="hold"&&touchDelay&&(delay3=touchDelay),delay3?showTimeout=setTimeout(function(){instance.show()},delay3):instance.show()}function scheduleHide(event){if(instance.clearDelayTimeouts(),invokeHook("onUntrigger",[instance,event]),!instance.state.isVisible){removeDocumentPress();return}if(!(instance.props.trigger.indexOf("mouseenter")>=0&&instance.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(event.type)>=0&&isVisibleFromClick)){var delay3=getDelay(!1);delay3?hideTimeout=setTimeout(function(){instance.state.isVisible&&instance.hide()},delay3):scheduleHideAnimationFrame=requestAnimationFrame(function(){instance.hide()})}}function enable(){instance.state.isEnabled=!0}function disable(){instance.hide(),instance.state.isEnabled=!1}function clearDelayTimeouts(){clearTimeout(showTimeout),clearTimeout(hideTimeout),cancelAnimationFrame(scheduleHideAnimationFrame)}function setProps(partialProps){if(warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("setProps")),!instance.state.isDestroyed){invokeHook("onBeforeUpdate",[instance,partialProps]),removeListeners();var prevProps=instance.props,nextProps=evaluateProps(reference,Object.assign({},instance.props,{},partialProps,{ignoreAttributes:!0}));instance.props=nextProps,addListeners(),prevProps.interactiveDebounce!==nextProps.interactiveDebounce&&(cleanupInteractiveMouseListeners(),debouncedOnMouseMove=debounce2(onMouseMove,nextProps.interactiveDebounce)),prevProps.triggerTarget&&!nextProps.triggerTarget?normalizeToArray(prevProps.triggerTarget).forEach(function(node){node.removeAttribute("aria-expanded")}):nextProps.triggerTarget&&reference.removeAttribute("aria-expanded"),handleAriaExpandedAttribute(),handleStyles(),onUpdate&&onUpdate(prevProps,nextProps),instance.popperInstance&&(createPopperInstance(),getNestedPopperTree().forEach(function(nestedPopper){requestAnimationFrame(nestedPopper._tippy.popperInstance.forceUpdate)})),invokeHook("onAfterUpdate",[instance,partialProps])}}function setContent2(content){instance.setProps({content})}function show(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("show"));var isAlreadyVisible=instance.state.isVisible,isDestroyed=instance.state.isDestroyed,isDisabled=!instance.state.isEnabled,isTouchAndTouchDisabled=currentInput.isTouch&&!instance.props.touch,duration=getValueAtIndexOrReturn(instance.props.duration,0,defaultProps.duration);if(!(isAlreadyVisible||isDestroyed||isDisabled||isTouchAndTouchDisabled)&&!getCurrentTarget().hasAttribute("disabled")&&(invokeHook("onShow",[instance],!1),instance.props.onShow(instance)!==!1)){if(instance.state.isVisible=!0,getIsDefaultRenderFn()&&(popper.style.visibility="visible"),handleStyles(),addDocumentPress(),instance.state.isMounted||(popper.style.transition="none"),getIsDefaultRenderFn()){var _getDefaultTemplateCh2=getDefaultTemplateChildren(),box=_getDefaultTemplateCh2.box,content=_getDefaultTemplateCh2.content;setTransitionDuration([box,content],0)}onFirstUpdate=function(){var _instance$popperInsta2;if(!(!instance.state.isVisible||ignoreOnFirstUpdate)){if(ignoreOnFirstUpdate=!0,popper.offsetHeight,popper.style.transition=instance.props.moveTransition,getIsDefaultRenderFn()&&instance.props.animation){var _getDefaultTemplateCh3=getDefaultTemplateChildren(),_box=_getDefaultTemplateCh3.box,_content=_getDefaultTemplateCh3.content;setTransitionDuration([_box,_content],duration),setVisibilityState([_box,_content],"visible")}handleAriaContentAttribute(),handleAriaExpandedAttribute(),pushIfUnique(mountedInstances,instance),(_instance$popperInsta2=instance.popperInstance)==null||_instance$popperInsta2.forceUpdate(),instance.state.isMounted=!0,invokeHook("onMount",[instance]),instance.props.animation&&getIsDefaultRenderFn()&&onTransitionedIn(duration,function(){instance.state.isShown=!0,invokeHook("onShown",[instance])})}},mount()}}function hide(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("hide"));var isAlreadyHidden=!instance.state.isVisible,isDestroyed=instance.state.isDestroyed,isDisabled=!instance.state.isEnabled,duration=getValueAtIndexOrReturn(instance.props.duration,1,defaultProps.duration);if(!(isAlreadyHidden||isDestroyed||isDisabled)&&(invokeHook("onHide",[instance],!1),instance.props.onHide(instance)!==!1)){if(instance.state.isVisible=!1,instance.state.isShown=!1,ignoreOnFirstUpdate=!1,isVisibleFromClick=!1,getIsDefaultRenderFn()&&(popper.style.visibility="hidden"),cleanupInteractiveMouseListeners(),removeDocumentPress(),handleStyles(),getIsDefaultRenderFn()){var _getDefaultTemplateCh4=getDefaultTemplateChildren(),box=_getDefaultTemplateCh4.box,content=_getDefaultTemplateCh4.content;instance.props.animation&&(setTransitionDuration([box,content],duration),setVisibilityState([box,content],"hidden"))}handleAriaContentAttribute(),handleAriaExpandedAttribute(),instance.props.animation?getIsDefaultRenderFn()&&onTransitionedOut(duration,instance.unmount):instance.unmount()}}function hideWithInteractivity(event){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("hideWithInteractivity")),getDocument().addEventListener("mousemove",debouncedOnMouseMove),pushIfUnique(mouseMoveListeners,debouncedOnMouseMove),debouncedOnMouseMove(event)}function unmount(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("unmount")),instance.state.isVisible&&instance.hide(),!!instance.state.isMounted&&(destroyPopperInstance(),getNestedPopperTree().forEach(function(nestedPopper){nestedPopper._tippy.unmount()}),popper.parentNode&&popper.parentNode.removeChild(popper),mountedInstances=mountedInstances.filter(function(i){return i!==instance}),instance.state.isMounted=!1,invokeHook("onHidden",[instance]))}function destroy(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("destroy")),!instance.state.isDestroyed&&(instance.clearDelayTimeouts(),instance.unmount(),removeListeners(),delete reference._tippy,instance.state.isDestroyed=!0,invokeHook("onDestroy",[instance]))}}function tippy2(targets,optionalProps){optionalProps===void 0&&(optionalProps={});var plugins2=defaultProps.plugins.concat(optionalProps.plugins||[]);validateTargets(targets),validateProps(optionalProps,plugins2),bindGlobalEventListeners();var passedProps=Object.assign({},optionalProps,{plugins:plugins2}),elements2=getArrayOfElements(targets),isSingleContentElement=isElement(passedProps.content),isMoreThanOneReferenceElement=elements2.length>1;warnWhen(isSingleContentElement&&isMoreThanOneReferenceElement,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",` +`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function getNestedPopperTree(){return arrayFrom(popper.querySelectorAll("[data-tippy-root]"))}function scheduleShow(event){instance.clearDelayTimeouts(),event&&invokeHook("onTrigger",[instance,event]),addDocumentPress();var delay3=getDelay(!0),_getNormalizedTouchSe=getNormalizedTouchSettings(),touchValue=_getNormalizedTouchSe[0],touchDelay=_getNormalizedTouchSe[1];currentInput.isTouch&&touchValue==="hold"&&touchDelay&&(delay3=touchDelay),delay3?showTimeout=setTimeout(function(){instance.show()},delay3):instance.show()}function scheduleHide(event){if(instance.clearDelayTimeouts(),invokeHook("onUntrigger",[instance,event]),!instance.state.isVisible){removeDocumentPress();return}if(!(instance.props.trigger.indexOf("mouseenter")>=0&&instance.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(event.type)>=0&&isVisibleFromClick)){var delay3=getDelay(!1);delay3?hideTimeout=setTimeout(function(){instance.state.isVisible&&instance.hide()},delay3):scheduleHideAnimationFrame=requestAnimationFrame(function(){instance.hide()})}}function enable(){instance.state.isEnabled=!0}function disable(){instance.hide(),instance.state.isEnabled=!1}function clearDelayTimeouts(){clearTimeout(showTimeout),clearTimeout(hideTimeout),cancelAnimationFrame(scheduleHideAnimationFrame)}function setProps(partialProps){if(warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("setProps")),!instance.state.isDestroyed){invokeHook("onBeforeUpdate",[instance,partialProps]),removeListeners();var prevProps=instance.props,nextProps=evaluateProps(reference,Object.assign({},instance.props,{},partialProps,{ignoreAttributes:!0}));instance.props=nextProps,addListeners(),prevProps.interactiveDebounce!==nextProps.interactiveDebounce&&(cleanupInteractiveMouseListeners(),debouncedOnMouseMove=debounce(onMouseMove,nextProps.interactiveDebounce)),prevProps.triggerTarget&&!nextProps.triggerTarget?normalizeToArray(prevProps.triggerTarget).forEach(function(node){node.removeAttribute("aria-expanded")}):nextProps.triggerTarget&&reference.removeAttribute("aria-expanded"),handleAriaExpandedAttribute(),handleStyles(),onUpdate&&onUpdate(prevProps,nextProps),instance.popperInstance&&(createPopperInstance(),getNestedPopperTree().forEach(function(nestedPopper){requestAnimationFrame(nestedPopper._tippy.popperInstance.forceUpdate)})),invokeHook("onAfterUpdate",[instance,partialProps])}}function setContent2(content){instance.setProps({content})}function show(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("show"));var isAlreadyVisible=instance.state.isVisible,isDestroyed=instance.state.isDestroyed,isDisabled=!instance.state.isEnabled,isTouchAndTouchDisabled=currentInput.isTouch&&!instance.props.touch,duration=getValueAtIndexOrReturn(instance.props.duration,0,defaultProps.duration);if(!(isAlreadyVisible||isDestroyed||isDisabled||isTouchAndTouchDisabled)&&!getCurrentTarget().hasAttribute("disabled")&&(invokeHook("onShow",[instance],!1),instance.props.onShow(instance)!==!1)){if(instance.state.isVisible=!0,getIsDefaultRenderFn()&&(popper.style.visibility="visible"),handleStyles(),addDocumentPress(),instance.state.isMounted||(popper.style.transition="none"),getIsDefaultRenderFn()){var _getDefaultTemplateCh2=getDefaultTemplateChildren(),box=_getDefaultTemplateCh2.box,content=_getDefaultTemplateCh2.content;setTransitionDuration([box,content],0)}onFirstUpdate=function(){var _instance$popperInsta2;if(!(!instance.state.isVisible||ignoreOnFirstUpdate)){if(ignoreOnFirstUpdate=!0,popper.offsetHeight,popper.style.transition=instance.props.moveTransition,getIsDefaultRenderFn()&&instance.props.animation){var _getDefaultTemplateCh3=getDefaultTemplateChildren(),_box=_getDefaultTemplateCh3.box,_content=_getDefaultTemplateCh3.content;setTransitionDuration([_box,_content],duration),setVisibilityState([_box,_content],"visible")}handleAriaContentAttribute(),handleAriaExpandedAttribute(),pushIfUnique(mountedInstances,instance),(_instance$popperInsta2=instance.popperInstance)==null||_instance$popperInsta2.forceUpdate(),instance.state.isMounted=!0,invokeHook("onMount",[instance]),instance.props.animation&&getIsDefaultRenderFn()&&onTransitionedIn(duration,function(){instance.state.isShown=!0,invokeHook("onShown",[instance])})}},mount()}}function hide(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("hide"));var isAlreadyHidden=!instance.state.isVisible,isDestroyed=instance.state.isDestroyed,isDisabled=!instance.state.isEnabled,duration=getValueAtIndexOrReturn(instance.props.duration,1,defaultProps.duration);if(!(isAlreadyHidden||isDestroyed||isDisabled)&&(invokeHook("onHide",[instance],!1),instance.props.onHide(instance)!==!1)){if(instance.state.isVisible=!1,instance.state.isShown=!1,ignoreOnFirstUpdate=!1,isVisibleFromClick=!1,getIsDefaultRenderFn()&&(popper.style.visibility="hidden"),cleanupInteractiveMouseListeners(),removeDocumentPress(),handleStyles(),getIsDefaultRenderFn()){var _getDefaultTemplateCh4=getDefaultTemplateChildren(),box=_getDefaultTemplateCh4.box,content=_getDefaultTemplateCh4.content;instance.props.animation&&(setTransitionDuration([box,content],duration),setVisibilityState([box,content],"hidden"))}handleAriaContentAttribute(),handleAriaExpandedAttribute(),instance.props.animation?getIsDefaultRenderFn()&&onTransitionedOut(duration,instance.unmount):instance.unmount()}}function hideWithInteractivity(event){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("hideWithInteractivity")),getDocument().addEventListener("mousemove",debouncedOnMouseMove),pushIfUnique(mouseMoveListeners,debouncedOnMouseMove),debouncedOnMouseMove(event)}function unmount(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("unmount")),instance.state.isVisible&&instance.hide(),!!instance.state.isMounted&&(destroyPopperInstance(),getNestedPopperTree().forEach(function(nestedPopper){nestedPopper._tippy.unmount()}),popper.parentNode&&popper.parentNode.removeChild(popper),mountedInstances=mountedInstances.filter(function(i){return i!==instance}),instance.state.isMounted=!1,invokeHook("onHidden",[instance]))}function destroy(){warnWhen(instance.state.isDestroyed,createMemoryLeakWarning("destroy")),!instance.state.isDestroyed&&(instance.clearDelayTimeouts(),instance.unmount(),removeListeners(),delete reference._tippy,instance.state.isDestroyed=!0,invokeHook("onDestroy",[instance]))}}function tippy2(targets,optionalProps){optionalProps===void 0&&(optionalProps={});var plugins=defaultProps.plugins.concat(optionalProps.plugins||[]);validateTargets(targets),validateProps(optionalProps,plugins),bindGlobalEventListeners();var passedProps=Object.assign({},optionalProps,{plugins}),elements=getArrayOfElements(targets),isSingleContentElement=isElement(passedProps.content),isMoreThanOneReferenceElement=elements.length>1;warnWhen(isSingleContentElement&&isMoreThanOneReferenceElement,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",` `,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",` `,`1) content: element.innerHTML -`,"2) content: () => element.cloneNode(true)"].join(" "));var instances2=elements2.reduce(function(acc,reference){var instance=reference&&createTippy(reference,passedProps);return instance&&acc.push(instance),acc},[]);return isElement(targets)?instances2[0]:instances2}tippy2.defaultProps=defaultProps,tippy2.setDefaultProps=setDefaultProps,tippy2.currentInput=currentInput;var hideAll=function(_temp){var _ref=_temp===void 0?{}:_temp,excludedReferenceOrInstance=_ref.exclude,duration=_ref.duration;mountedInstances.forEach(function(instance){var isExcluded=!1;if(excludedReferenceOrInstance&&(isExcluded=isReferenceElement(excludedReferenceOrInstance)?instance.reference===excludedReferenceOrInstance:instance.popper===excludedReferenceOrInstance.popper),!isExcluded){var originalDuration=instance.props.duration;instance.setProps({duration}),instance.hide(),instance.state.isDestroyed||instance.setProps({duration:originalDuration})}})},applyStylesModifier=Object.assign({},core.applyStyles,{effect:function(_ref){var state=_ref.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow)}}),createSingleton=function(tippyInstances,optionalProps){var _optionalProps$popper;optionalProps===void 0&&(optionalProps={}),errorWhen(!Array.isArray(tippyInstances),["The first argument passed to createSingleton() must be an array of","tippy instances. The passed value was",String(tippyInstances)].join(" "));var individualInstances=tippyInstances,references=[],currentTarget,overrides2=optionalProps.overrides,interceptSetPropsCleanups=[],shownOnCreate=!1;function setReferences(){references=individualInstances.map(function(instance){return instance.reference})}function enableInstances(isEnabled){individualInstances.forEach(function(instance){isEnabled?instance.enable():instance.disable()})}function interceptSetProps(singleton2){return individualInstances.map(function(instance){var originalSetProps2=instance.setProps;return instance.setProps=function(props){originalSetProps2(props),instance.reference===currentTarget&&singleton2.setProps(props)},function(){instance.setProps=originalSetProps2}})}function prepareInstance(singleton2,target){var index2=references.indexOf(target);if(target!==currentTarget){currentTarget=target;var overrideProps=(overrides2||[]).concat("content").reduce(function(acc,prop){return acc[prop]=individualInstances[index2].props[prop],acc},{});singleton2.setProps(Object.assign({},overrideProps,{getReferenceClientRect:typeof overrideProps.getReferenceClientRect=="function"?overrideProps.getReferenceClientRect:function(){return target.getBoundingClientRect()}}))}}enableInstances(!1),setReferences();var plugin={fn:function(){return{onDestroy:function(){enableInstances(!0)},onHidden:function(){currentTarget=null},onClickOutside:function(instance){instance.props.showOnCreate&&!shownOnCreate&&(shownOnCreate=!0,currentTarget=null)},onShow:function(instance){instance.props.showOnCreate&&!shownOnCreate&&(shownOnCreate=!0,prepareInstance(instance,references[0]))},onTrigger:function(instance,event){prepareInstance(instance,event.currentTarget)}}}},singleton=tippy2(div(),Object.assign({},removeProperties(optionalProps,["overrides"]),{plugins:[plugin].concat(optionalProps.plugins||[]),triggerTarget:references,popperOptions:Object.assign({},optionalProps.popperOptions,{modifiers:[].concat(((_optionalProps$popper=optionalProps.popperOptions)==null?void 0:_optionalProps$popper.modifiers)||[],[applyStylesModifier])})})),originalShow=singleton.show;singleton.show=function(target){if(originalShow(),!currentTarget&&target==null)return prepareInstance(singleton,references[0]);if(!(currentTarget&&target==null)){if(typeof target=="number")return references[target]&&prepareInstance(singleton,references[target]);if(individualInstances.includes(target)){var ref=target.reference;return prepareInstance(singleton,ref)}if(references.includes(target))return prepareInstance(singleton,target)}},singleton.showNext=function(){var first=references[0];if(!currentTarget)return singleton.show(0);var index2=references.indexOf(currentTarget);singleton.show(references[index2+1]||first)},singleton.showPrevious=function(){var last=references[references.length-1];if(!currentTarget)return singleton.show(last);var index2=references.indexOf(currentTarget),target=references[index2-1]||last;singleton.show(target)};var originalSetProps=singleton.setProps;return singleton.setProps=function(props){overrides2=props.overrides||overrides2,originalSetProps(props)},singleton.setInstances=function(nextInstances){enableInstances(!0),interceptSetPropsCleanups.forEach(function(fn){return fn()}),individualInstances=nextInstances,enableInstances(!1),setReferences(),interceptSetProps(singleton),singleton.setProps({triggerTarget:references})},interceptSetPropsCleanups=interceptSetProps(singleton),singleton},BUBBLING_EVENTS_MAP={mouseover:"mouseenter",focusin:"focus",click:"click"};function delegate(targets,props){errorWhen(!(props&&props.target),["You must specity a `target` prop indicating a CSS selector string matching","the target elements that should receive a tippy."].join(" "));var listeners=[],childTippyInstances=[],disabled=!1,target=props.target,nativeProps=removeProperties(props,["target"]),parentProps=Object.assign({},nativeProps,{trigger:"manual",touch:!1}),childProps=Object.assign({},nativeProps,{showOnCreate:!0}),returnValue=tippy2(targets,parentProps),normalizedReturnValue=normalizeToArray(returnValue);function onTrigger(event){if(!(!event.target||disabled)){var targetNode=event.target.closest(target);if(!!targetNode){var trigger=targetNode.getAttribute("data-tippy-trigger")||props.trigger||defaultProps.trigger;if(!targetNode._tippy&&!(event.type==="touchstart"&&typeof childProps.touch=="boolean")&&!(event.type!=="touchstart"&&trigger.indexOf(BUBBLING_EVENTS_MAP[event.type])<0)){var instance=tippy2(targetNode,childProps);instance&&(childTippyInstances=childTippyInstances.concat(instance))}}}}function on(node,eventType,handler,options){options===void 0&&(options=!1),node.addEventListener(eventType,handler,options),listeners.push({node,eventType,handler,options})}function addEventListeners(instance){var reference=instance.reference;on(reference,"touchstart",onTrigger,TOUCH_OPTIONS),on(reference,"mouseover",onTrigger),on(reference,"focusin",onTrigger),on(reference,"click",onTrigger)}function removeEventListeners(){listeners.forEach(function(_ref){var node=_ref.node,eventType=_ref.eventType,handler=_ref.handler,options=_ref.options;node.removeEventListener(eventType,handler,options)}),listeners=[]}function applyMutations(instance){var originalDestroy=instance.destroy,originalEnable=instance.enable,originalDisable=instance.disable;instance.destroy=function(shouldDestroyChildInstances){shouldDestroyChildInstances===void 0&&(shouldDestroyChildInstances=!0),shouldDestroyChildInstances&&childTippyInstances.forEach(function(instance2){instance2.destroy()}),childTippyInstances=[],removeEventListeners(),originalDestroy()},instance.enable=function(){originalEnable(),childTippyInstances.forEach(function(instance2){return instance2.enable()}),disabled=!1},instance.disable=function(){originalDisable(),childTippyInstances.forEach(function(instance2){return instance2.disable()}),disabled=!0},addEventListeners(instance)}return normalizedReturnValue.forEach(applyMutations),returnValue}var animateFill={name:"animateFill",defaultValue:!1,fn:function(instance){var _instance$props$rende;if(!((_instance$props$rende=instance.props.render)==null?void 0:_instance$props$rende.$$tippy))return errorWhen(instance.props.animateFill,"The `animateFill` plugin requires the default render function."),{};var _getChildren=getChildren(instance.popper),box=_getChildren.box,content=_getChildren.content,backdrop=instance.props.animateFill?createBackdropElement():null;return{onCreate:function(){backdrop&&(box.insertBefore(backdrop,box.firstElementChild),box.setAttribute("data-animatefill",""),box.style.overflow="hidden",instance.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(backdrop){var transitionDuration=box.style.transitionDuration,duration=Number(transitionDuration.replace("ms",""));content.style.transitionDelay=Math.round(duration/10)+"ms",backdrop.style.transitionDuration=transitionDuration,setVisibilityState([backdrop],"visible")}},onShow:function(){backdrop&&(backdrop.style.transitionDuration="0ms")},onHide:function(){backdrop&&setVisibilityState([backdrop],"hidden")}}}};function createBackdropElement(){var backdrop=div();return backdrop.className=BACKDROP_CLASS,setVisibilityState([backdrop],"hidden"),backdrop}var mouseCoords={clientX:0,clientY:0},activeInstances=[];function storeMouseCoords(_ref){var clientX=_ref.clientX,clientY=_ref.clientY;mouseCoords={clientX,clientY}}function addMouseCoordsListener(doc){doc.addEventListener("mousemove",storeMouseCoords)}function removeMouseCoordsListener(doc){doc.removeEventListener("mousemove",storeMouseCoords)}var followCursor2={name:"followCursor",defaultValue:!1,fn:function(instance){var reference=instance.reference,doc=getOwnerDocument(instance.props.triggerTarget||reference),isInternalUpdate=!1,wasFocusEvent=!1,isUnmounted=!0,prevProps=instance.props;function getIsInitialBehavior(){return instance.props.followCursor==="initial"&&instance.state.isVisible}function addListener2(){doc.addEventListener("mousemove",onMouseMove)}function removeListener2(){doc.removeEventListener("mousemove",onMouseMove)}function unsetGetReferenceClientRect(){isInternalUpdate=!0,instance.setProps({getReferenceClientRect:null}),isInternalUpdate=!1}function onMouseMove(event){var isCursorOverReference=event.target?reference.contains(event.target):!0,followCursor3=instance.props.followCursor,clientX=event.clientX,clientY=event.clientY,rect=reference.getBoundingClientRect(),relativeX=clientX-rect.left,relativeY=clientY-rect.top;(isCursorOverReference||!instance.props.interactive)&&instance.setProps({getReferenceClientRect:function(){var rect2=reference.getBoundingClientRect(),x=clientX,y=clientY;followCursor3==="initial"&&(x=rect2.left+relativeX,y=rect2.top+relativeY);var top=followCursor3==="horizontal"?rect2.top:y,right=followCursor3==="vertical"?rect2.right:x,bottom=followCursor3==="horizontal"?rect2.bottom:y,left=followCursor3==="vertical"?rect2.left:x;return{width:right-left,height:bottom-top,top,right,bottom,left}}})}function create(){instance.props.followCursor&&(activeInstances.push({instance,doc}),addMouseCoordsListener(doc))}function destroy(){activeInstances=activeInstances.filter(function(data){return data.instance!==instance}),activeInstances.filter(function(data){return data.doc===doc}).length===0&&removeMouseCoordsListener(doc)}return{onCreate:create,onDestroy:destroy,onBeforeUpdate:function(){prevProps=instance.props},onAfterUpdate:function(_,_ref2){var followCursor3=_ref2.followCursor;isInternalUpdate||followCursor3!==void 0&&prevProps.followCursor!==followCursor3&&(destroy(),followCursor3?(create(),instance.state.isMounted&&!wasFocusEvent&&!getIsInitialBehavior()&&addListener2()):(removeListener2(),unsetGetReferenceClientRect()))},onMount:function(){instance.props.followCursor&&!wasFocusEvent&&(isUnmounted&&(onMouseMove(mouseCoords),isUnmounted=!1),getIsInitialBehavior()||addListener2())},onTrigger:function(_,event){isMouseEvent(event)&&(mouseCoords={clientX:event.clientX,clientY:event.clientY}),wasFocusEvent=event.type==="focus"},onHidden:function(){instance.props.followCursor&&(unsetGetReferenceClientRect(),removeListener2(),isUnmounted=!0)}}}};function getProps(props,modifier){var _props$popperOptions;return{popperOptions:Object.assign({},props.popperOptions,{modifiers:[].concat((((_props$popperOptions=props.popperOptions)==null?void 0:_props$popperOptions.modifiers)||[]).filter(function(_ref){var name=_ref.name;return name!==modifier.name}),[modifier])})}}var inlinePositioning={name:"inlinePositioning",defaultValue:!1,fn:function(instance){var reference=instance.reference;function isEnabled(){return!!instance.props.inlinePositioning}var placement,cursorRectIndex=-1,isInternalUpdate=!1,modifier={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(_ref2){var state=_ref2.state;isEnabled()&&(placement!==state.placement&&instance.setProps({getReferenceClientRect:function(){return _getReferenceClientRect(state.placement)}}),placement=state.placement)}};function _getReferenceClientRect(placement2){return getInlineBoundingClientRect(getBasePlacement(placement2),reference.getBoundingClientRect(),arrayFrom(reference.getClientRects()),cursorRectIndex)}function setInternalProps(partialProps){isInternalUpdate=!0,instance.setProps(partialProps),isInternalUpdate=!1}function addModifier(){isInternalUpdate||setInternalProps(getProps(instance.props,modifier))}return{onCreate:addModifier,onAfterUpdate:addModifier,onTrigger:function(_,event){if(isMouseEvent(event)){var rects=arrayFrom(instance.reference.getClientRects()),cursorRect=rects.find(function(rect){return rect.left-2<=event.clientX&&rect.right+2>=event.clientX&&rect.top-2<=event.clientY&&rect.bottom+2>=event.clientY});cursorRectIndex=rects.indexOf(cursorRect)}},onUntrigger:function(){cursorRectIndex=-1}}}};function getInlineBoundingClientRect(currentBasePlacement,boundingRect,clientRects,cursorRectIndex){if(clientRects.length<2||currentBasePlacement===null)return boundingRect;if(clientRects.length===2&&cursorRectIndex>=0&&clientRects[0].left>clientRects[1].right)return clientRects[cursorRectIndex]||boundingRect;switch(currentBasePlacement){case"top":case"bottom":{var firstRect=clientRects[0],lastRect=clientRects[clientRects.length-1],isTop=currentBasePlacement==="top",top=firstRect.top,bottom=lastRect.bottom,left=isTop?firstRect.left:lastRect.left,right=isTop?firstRect.right:lastRect.right,width=right-left,height=bottom-top;return{top,bottom,left,right,width,height}}case"left":case"right":{var minLeft=Math.min.apply(Math,clientRects.map(function(rects){return rects.left})),maxRight=Math.max.apply(Math,clientRects.map(function(rects){return rects.right})),measureRects=clientRects.filter(function(rect){return currentBasePlacement==="left"?rect.left===minLeft:rect.right===maxRight}),_top=measureRects[0].top,_bottom=measureRects[measureRects.length-1].bottom,_left=minLeft,_right=maxRight,_width=_right-_left,_height=_bottom-_top;return{top:_top,bottom:_bottom,left:_left,right:_right,width:_width,height:_height}}default:return boundingRect}}var sticky={name:"sticky",defaultValue:!1,fn:function(instance){var reference=instance.reference,popper=instance.popper;function getReference(){return instance.popperInstance?instance.popperInstance.state.elements.reference:reference}function shouldCheck(value){return instance.props.sticky===!0||instance.props.sticky===value}var prevRefRect=null,prevPopRect=null;function updatePosition(){var currentRefRect=shouldCheck("reference")?getReference().getBoundingClientRect():null,currentPopRect=shouldCheck("popper")?popper.getBoundingClientRect():null;(currentRefRect&&areRectsDifferent(prevRefRect,currentRefRect)||currentPopRect&&areRectsDifferent(prevPopRect,currentPopRect))&&instance.popperInstance&&instance.popperInstance.update(),prevRefRect=currentRefRect,prevPopRect=currentPopRect,instance.state.isMounted&&requestAnimationFrame(updatePosition)}return{onMount:function(){instance.props.sticky&&updatePosition()}}}};function areRectsDifferent(rectA,rectB){return rectA&&rectB?rectA.top!==rectB.top||rectA.right!==rectB.right||rectA.bottom!==rectB.bottom||rectA.left!==rectB.left:!0}tippy2.setDefaultProps({render}),exports.animateFill=animateFill,exports.createSingleton=createSingleton,exports.default=tippy2,exports.delegate=delegate,exports.followCursor=followCursor2,exports.hideAll=hideAll,exports.inlinePositioning=inlinePositioning,exports.roundArrow=ROUND_ARROW,exports.sticky=sticky}),import_tippy2=__toModule2(require_tippy_cjs()),import_tippy=__toModule2(require_tippy_cjs()),buildConfigFromModifiers=modifiers=>{let config={plugins:[]},getModifierArgument=modifier=>modifiers[modifiers.indexOf(modifier)+1];if(modifiers.includes("animation")&&(config.animation=getModifierArgument("animation")),modifiers.includes("duration")&&(config.duration=parseInt(getModifierArgument("duration"))),modifiers.includes("delay")){let delay3=getModifierArgument("delay");config.delay=delay3.includes("-")?delay3.split("-").map(n=>parseInt(n)):parseInt(delay3)}if(modifiers.includes("cursor")){config.plugins.push(import_tippy.followCursor);let next=getModifierArgument("cursor");["x","initial"].includes(next)?config.followCursor=next==="x"?"horizontal":"initial":config.followCursor=!0}return modifiers.includes("on")&&(config.trigger=getModifierArgument("on")),modifiers.includes("arrowless")&&(config.arrow=!1),modifiers.includes("html")&&(config.allowHTML=!0),modifiers.includes("interactive")&&(config.interactive=!0),modifiers.includes("border")&&config.interactive&&(config.interactiveBorder=parseInt(getModifierArgument("border"))),modifiers.includes("debounce")&&config.interactive&&(config.interactiveDebounce=parseInt(getModifierArgument("debounce"))),modifiers.includes("max-width")&&(config.maxWidth=parseInt(getModifierArgument("max-width"))),modifiers.includes("theme")&&(config.theme=getModifierArgument("theme")),modifiers.includes("placement")&&(config.placement=getModifierArgument("placement")),config};function src_default5(Alpine){Alpine.magic("tooltip",el=>(content,config={})=>{let instance=(0,import_tippy2.default)(el,{content,trigger:"manual",...config});instance.show(),setTimeout(()=>{instance.hide(),setTimeout(()=>instance.destroy(),config.duration||300)},config.timeout||2e3)}),Alpine.directive("tooltip",(el,{modifiers,expression},{evaluateLater,effect})=>{let config=modifiers.length>0?buildConfigFromModifiers(modifiers):{};el.__x_tippy||(el.__x_tippy=(0,import_tippy2.default)(el,config));let enableTooltip=()=>el.__x_tippy.enable(),disableTooltip=()=>el.__x_tippy.disable(),setupTooltip=content=>{content?(enableTooltip(),el.__x_tippy.setContent(content)):disableTooltip()};if(modifiers.includes("raw"))setupTooltip(expression);else{let getContent=evaluateLater(expression);effect(()=>{getContent(content=>{typeof content=="object"?(el.__x_tippy.setProps(content),enableTooltip()):setupTooltip(content)})})}})}var module_default5=src_default5;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(module_default),window.Alpine.plugin(module_default2),window.Alpine.plugin(module_default3),window.Alpine.plugin(module_default4),window.Alpine.plugin(module_default5),window.Alpine.store("sidebar",{isOpen:window.Alpine.$persist(!0).as("isOpen"),collapsedGroups:window.Alpine.$persist([]).as("collapsedGroups"),groupIsCollapsed:function(group){return this.collapsedGroups.includes(group)},collapseGroup:function(group){this.collapsedGroups.includes(group)||(this.collapsedGroups=this.collapsedGroups.concat(group))},toggleCollapsedGroup:function(group){this.collapsedGroups=this.collapsedGroups.includes(group)?this.collapsedGroups.filter(collapsedGroup=>collapsedGroup!==group):this.collapsedGroups.concat(group)},close:function(){this.isOpen=!1},open:function(){this.isOpen=!0}}),window.Alpine.store("theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("dark-mode-toggled",event=>{window.Alpine.store("theme",event.detail)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",event=>{window.Alpine.store("theme",event.matches?"dark":"light")})});auto_default.defaults.font.family="'DM Sans', sans-serif";auto_default.defaults.color="#6b7280";window.Chart=auto_default;})(); -/*! - * @kurkle/color v0.2.1 - * https://github.com/kurkle/color#readme - * (c) 2022 Jukka Kurkela - * Released under the MIT License - */ -/*! - * Chart.js v3.9.1 - * https://www.chartjs.org - * (c) 2022 Chart.js Contributors - * Released under the MIT License - */ +`,"2) content: () => element.cloneNode(true)"].join(" "));var instances=elements.reduce(function(acc,reference){var instance=reference&&createTippy(reference,passedProps);return instance&&acc.push(instance),acc},[]);return isElement(targets)?instances[0]:instances}tippy2.defaultProps=defaultProps,tippy2.setDefaultProps=setDefaultProps,tippy2.currentInput=currentInput;var hideAll=function(_temp){var _ref=_temp===void 0?{}:_temp,excludedReferenceOrInstance=_ref.exclude,duration=_ref.duration;mountedInstances.forEach(function(instance){var isExcluded=!1;if(excludedReferenceOrInstance&&(isExcluded=isReferenceElement(excludedReferenceOrInstance)?instance.reference===excludedReferenceOrInstance:instance.popper===excludedReferenceOrInstance.popper),!isExcluded){var originalDuration=instance.props.duration;instance.setProps({duration}),instance.hide(),instance.state.isDestroyed||instance.setProps({duration:originalDuration})}})},applyStylesModifier=Object.assign({},core.applyStyles,{effect:function(_ref){var state=_ref.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow)}}),createSingleton=function(tippyInstances,optionalProps){var _optionalProps$popper;optionalProps===void 0&&(optionalProps={}),errorWhen(!Array.isArray(tippyInstances),["The first argument passed to createSingleton() must be an array of","tippy instances. The passed value was",String(tippyInstances)].join(" "));var individualInstances=tippyInstances,references=[],currentTarget,overrides=optionalProps.overrides,interceptSetPropsCleanups=[],shownOnCreate=!1;function setReferences(){references=individualInstances.map(function(instance){return instance.reference})}function enableInstances(isEnabled){individualInstances.forEach(function(instance){isEnabled?instance.enable():instance.disable()})}function interceptSetProps(singleton2){return individualInstances.map(function(instance){var originalSetProps2=instance.setProps;return instance.setProps=function(props){originalSetProps2(props),instance.reference===currentTarget&&singleton2.setProps(props)},function(){instance.setProps=originalSetProps2}})}function prepareInstance(singleton2,target){var index=references.indexOf(target);if(target!==currentTarget){currentTarget=target;var overrideProps=(overrides||[]).concat("content").reduce(function(acc,prop){return acc[prop]=individualInstances[index].props[prop],acc},{});singleton2.setProps(Object.assign({},overrideProps,{getReferenceClientRect:typeof overrideProps.getReferenceClientRect=="function"?overrideProps.getReferenceClientRect:function(){return target.getBoundingClientRect()}}))}}enableInstances(!1),setReferences();var plugin={fn:function(){return{onDestroy:function(){enableInstances(!0)},onHidden:function(){currentTarget=null},onClickOutside:function(instance){instance.props.showOnCreate&&!shownOnCreate&&(shownOnCreate=!0,currentTarget=null)},onShow:function(instance){instance.props.showOnCreate&&!shownOnCreate&&(shownOnCreate=!0,prepareInstance(instance,references[0]))},onTrigger:function(instance,event){prepareInstance(instance,event.currentTarget)}}}},singleton=tippy2(div(),Object.assign({},removeProperties(optionalProps,["overrides"]),{plugins:[plugin].concat(optionalProps.plugins||[]),triggerTarget:references,popperOptions:Object.assign({},optionalProps.popperOptions,{modifiers:[].concat(((_optionalProps$popper=optionalProps.popperOptions)==null?void 0:_optionalProps$popper.modifiers)||[],[applyStylesModifier])})})),originalShow=singleton.show;singleton.show=function(target){if(originalShow(),!currentTarget&&target==null)return prepareInstance(singleton,references[0]);if(!(currentTarget&&target==null)){if(typeof target=="number")return references[target]&&prepareInstance(singleton,references[target]);if(individualInstances.includes(target)){var ref=target.reference;return prepareInstance(singleton,ref)}if(references.includes(target))return prepareInstance(singleton,target)}},singleton.showNext=function(){var first=references[0];if(!currentTarget)return singleton.show(0);var index=references.indexOf(currentTarget);singleton.show(references[index+1]||first)},singleton.showPrevious=function(){var last=references[references.length-1];if(!currentTarget)return singleton.show(last);var index=references.indexOf(currentTarget),target=references[index-1]||last;singleton.show(target)};var originalSetProps=singleton.setProps;return singleton.setProps=function(props){overrides=props.overrides||overrides,originalSetProps(props)},singleton.setInstances=function(nextInstances){enableInstances(!0),interceptSetPropsCleanups.forEach(function(fn){return fn()}),individualInstances=nextInstances,enableInstances(!1),setReferences(),interceptSetProps(singleton),singleton.setProps({triggerTarget:references})},interceptSetPropsCleanups=interceptSetProps(singleton),singleton},BUBBLING_EVENTS_MAP={mouseover:"mouseenter",focusin:"focus",click:"click"};function delegate(targets,props){errorWhen(!(props&&props.target),["You must specity a `target` prop indicating a CSS selector string matching","the target elements that should receive a tippy."].join(" "));var listeners=[],childTippyInstances=[],disabled=!1,target=props.target,nativeProps=removeProperties(props,["target"]),parentProps=Object.assign({},nativeProps,{trigger:"manual",touch:!1}),childProps=Object.assign({},nativeProps,{showOnCreate:!0}),returnValue=tippy2(targets,parentProps),normalizedReturnValue=normalizeToArray(returnValue);function onTrigger(event){if(!(!event.target||disabled)){var targetNode=event.target.closest(target);if(!!targetNode){var trigger=targetNode.getAttribute("data-tippy-trigger")||props.trigger||defaultProps.trigger;if(!targetNode._tippy&&!(event.type==="touchstart"&&typeof childProps.touch=="boolean")&&!(event.type!=="touchstart"&&trigger.indexOf(BUBBLING_EVENTS_MAP[event.type])<0)){var instance=tippy2(targetNode,childProps);instance&&(childTippyInstances=childTippyInstances.concat(instance))}}}}function on(node,eventType,handler,options){options===void 0&&(options=!1),node.addEventListener(eventType,handler,options),listeners.push({node,eventType,handler,options})}function addEventListeners(instance){var reference=instance.reference;on(reference,"touchstart",onTrigger,TOUCH_OPTIONS),on(reference,"mouseover",onTrigger),on(reference,"focusin",onTrigger),on(reference,"click",onTrigger)}function removeEventListeners(){listeners.forEach(function(_ref){var node=_ref.node,eventType=_ref.eventType,handler=_ref.handler,options=_ref.options;node.removeEventListener(eventType,handler,options)}),listeners=[]}function applyMutations(instance){var originalDestroy=instance.destroy,originalEnable=instance.enable,originalDisable=instance.disable;instance.destroy=function(shouldDestroyChildInstances){shouldDestroyChildInstances===void 0&&(shouldDestroyChildInstances=!0),shouldDestroyChildInstances&&childTippyInstances.forEach(function(instance2){instance2.destroy()}),childTippyInstances=[],removeEventListeners(),originalDestroy()},instance.enable=function(){originalEnable(),childTippyInstances.forEach(function(instance2){return instance2.enable()}),disabled=!1},instance.disable=function(){originalDisable(),childTippyInstances.forEach(function(instance2){return instance2.disable()}),disabled=!0},addEventListeners(instance)}return normalizedReturnValue.forEach(applyMutations),returnValue}var animateFill={name:"animateFill",defaultValue:!1,fn:function(instance){var _instance$props$rende;if(!((_instance$props$rende=instance.props.render)==null?void 0:_instance$props$rende.$$tippy))return errorWhen(instance.props.animateFill,"The `animateFill` plugin requires the default render function."),{};var _getChildren=getChildren(instance.popper),box=_getChildren.box,content=_getChildren.content,backdrop=instance.props.animateFill?createBackdropElement():null;return{onCreate:function(){backdrop&&(box.insertBefore(backdrop,box.firstElementChild),box.setAttribute("data-animatefill",""),box.style.overflow="hidden",instance.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(backdrop){var transitionDuration=box.style.transitionDuration,duration=Number(transitionDuration.replace("ms",""));content.style.transitionDelay=Math.round(duration/10)+"ms",backdrop.style.transitionDuration=transitionDuration,setVisibilityState([backdrop],"visible")}},onShow:function(){backdrop&&(backdrop.style.transitionDuration="0ms")},onHide:function(){backdrop&&setVisibilityState([backdrop],"hidden")}}}};function createBackdropElement(){var backdrop=div();return backdrop.className=BACKDROP_CLASS,setVisibilityState([backdrop],"hidden"),backdrop}var mouseCoords={clientX:0,clientY:0},activeInstances=[];function storeMouseCoords(_ref){var clientX=_ref.clientX,clientY=_ref.clientY;mouseCoords={clientX,clientY}}function addMouseCoordsListener(doc){doc.addEventListener("mousemove",storeMouseCoords)}function removeMouseCoordsListener(doc){doc.removeEventListener("mousemove",storeMouseCoords)}var followCursor2={name:"followCursor",defaultValue:!1,fn:function(instance){var reference=instance.reference,doc=getOwnerDocument(instance.props.triggerTarget||reference),isInternalUpdate=!1,wasFocusEvent=!1,isUnmounted=!0,prevProps=instance.props;function getIsInitialBehavior(){return instance.props.followCursor==="initial"&&instance.state.isVisible}function addListener(){doc.addEventListener("mousemove",onMouseMove)}function removeListener(){doc.removeEventListener("mousemove",onMouseMove)}function unsetGetReferenceClientRect(){isInternalUpdate=!0,instance.setProps({getReferenceClientRect:null}),isInternalUpdate=!1}function onMouseMove(event){var isCursorOverReference=event.target?reference.contains(event.target):!0,followCursor3=instance.props.followCursor,clientX=event.clientX,clientY=event.clientY,rect=reference.getBoundingClientRect(),relativeX=clientX-rect.left,relativeY=clientY-rect.top;(isCursorOverReference||!instance.props.interactive)&&instance.setProps({getReferenceClientRect:function(){var rect2=reference.getBoundingClientRect(),x=clientX,y=clientY;followCursor3==="initial"&&(x=rect2.left+relativeX,y=rect2.top+relativeY);var top=followCursor3==="horizontal"?rect2.top:y,right=followCursor3==="vertical"?rect2.right:x,bottom=followCursor3==="horizontal"?rect2.bottom:y,left=followCursor3==="vertical"?rect2.left:x;return{width:right-left,height:bottom-top,top,right,bottom,left}}})}function create(){instance.props.followCursor&&(activeInstances.push({instance,doc}),addMouseCoordsListener(doc))}function destroy(){activeInstances=activeInstances.filter(function(data){return data.instance!==instance}),activeInstances.filter(function(data){return data.doc===doc}).length===0&&removeMouseCoordsListener(doc)}return{onCreate:create,onDestroy:destroy,onBeforeUpdate:function(){prevProps=instance.props},onAfterUpdate:function(_,_ref2){var followCursor3=_ref2.followCursor;isInternalUpdate||followCursor3!==void 0&&prevProps.followCursor!==followCursor3&&(destroy(),followCursor3?(create(),instance.state.isMounted&&!wasFocusEvent&&!getIsInitialBehavior()&&addListener()):(removeListener(),unsetGetReferenceClientRect()))},onMount:function(){instance.props.followCursor&&!wasFocusEvent&&(isUnmounted&&(onMouseMove(mouseCoords),isUnmounted=!1),getIsInitialBehavior()||addListener())},onTrigger:function(_,event){isMouseEvent(event)&&(mouseCoords={clientX:event.clientX,clientY:event.clientY}),wasFocusEvent=event.type==="focus"},onHidden:function(){instance.props.followCursor&&(unsetGetReferenceClientRect(),removeListener(),isUnmounted=!0)}}}};function getProps(props,modifier){var _props$popperOptions;return{popperOptions:Object.assign({},props.popperOptions,{modifiers:[].concat((((_props$popperOptions=props.popperOptions)==null?void 0:_props$popperOptions.modifiers)||[]).filter(function(_ref){var name=_ref.name;return name!==modifier.name}),[modifier])})}}var inlinePositioning={name:"inlinePositioning",defaultValue:!1,fn:function(instance){var reference=instance.reference;function isEnabled(){return!!instance.props.inlinePositioning}var placement,cursorRectIndex=-1,isInternalUpdate=!1,modifier={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(_ref2){var state=_ref2.state;isEnabled()&&(placement!==state.placement&&instance.setProps({getReferenceClientRect:function(){return _getReferenceClientRect(state.placement)}}),placement=state.placement)}};function _getReferenceClientRect(placement2){return getInlineBoundingClientRect(getBasePlacement(placement2),reference.getBoundingClientRect(),arrayFrom(reference.getClientRects()),cursorRectIndex)}function setInternalProps(partialProps){isInternalUpdate=!0,instance.setProps(partialProps),isInternalUpdate=!1}function addModifier(){isInternalUpdate||setInternalProps(getProps(instance.props,modifier))}return{onCreate:addModifier,onAfterUpdate:addModifier,onTrigger:function(_,event){if(isMouseEvent(event)){var rects=arrayFrom(instance.reference.getClientRects()),cursorRect=rects.find(function(rect){return rect.left-2<=event.clientX&&rect.right+2>=event.clientX&&rect.top-2<=event.clientY&&rect.bottom+2>=event.clientY});cursorRectIndex=rects.indexOf(cursorRect)}},onUntrigger:function(){cursorRectIndex=-1}}}};function getInlineBoundingClientRect(currentBasePlacement,boundingRect,clientRects,cursorRectIndex){if(clientRects.length<2||currentBasePlacement===null)return boundingRect;if(clientRects.length===2&&cursorRectIndex>=0&&clientRects[0].left>clientRects[1].right)return clientRects[cursorRectIndex]||boundingRect;switch(currentBasePlacement){case"top":case"bottom":{var firstRect=clientRects[0],lastRect=clientRects[clientRects.length-1],isTop=currentBasePlacement==="top",top=firstRect.top,bottom=lastRect.bottom,left=isTop?firstRect.left:lastRect.left,right=isTop?firstRect.right:lastRect.right,width=right-left,height=bottom-top;return{top,bottom,left,right,width,height}}case"left":case"right":{var minLeft=Math.min.apply(Math,clientRects.map(function(rects){return rects.left})),maxRight=Math.max.apply(Math,clientRects.map(function(rects){return rects.right})),measureRects=clientRects.filter(function(rect){return currentBasePlacement==="left"?rect.left===minLeft:rect.right===maxRight}),_top=measureRects[0].top,_bottom=measureRects[measureRects.length-1].bottom,_left=minLeft,_right=maxRight,_width=_right-_left,_height=_bottom-_top;return{top:_top,bottom:_bottom,left:_left,right:_right,width:_width,height:_height}}default:return boundingRect}}var sticky={name:"sticky",defaultValue:!1,fn:function(instance){var reference=instance.reference,popper=instance.popper;function getReference(){return instance.popperInstance?instance.popperInstance.state.elements.reference:reference}function shouldCheck(value){return instance.props.sticky===!0||instance.props.sticky===value}var prevRefRect=null,prevPopRect=null;function updatePosition(){var currentRefRect=shouldCheck("reference")?getReference().getBoundingClientRect():null,currentPopRect=shouldCheck("popper")?popper.getBoundingClientRect():null;(currentRefRect&&areRectsDifferent(prevRefRect,currentRefRect)||currentPopRect&&areRectsDifferent(prevPopRect,currentPopRect))&&instance.popperInstance&&instance.popperInstance.update(),prevRefRect=currentRefRect,prevPopRect=currentPopRect,instance.state.isMounted&&requestAnimationFrame(updatePosition)}return{onMount:function(){instance.props.sticky&&updatePosition()}}}};function areRectsDifferent(rectA,rectB){return rectA&&rectB?rectA.top!==rectB.top||rectA.right!==rectB.right||rectA.bottom!==rectB.bottom||rectA.left!==rectB.left:!0}tippy2.setDefaultProps({render}),exports.animateFill=animateFill,exports.createSingleton=createSingleton,exports.default=tippy2,exports.delegate=delegate,exports.followCursor=followCursor2,exports.hideAll=hideAll,exports.inlinePositioning=inlinePositioning,exports.roundArrow=ROUND_ARROW,exports.sticky=sticky}),import_tippy2=__toModule2(require_tippy_cjs()),import_tippy=__toModule2(require_tippy_cjs()),buildConfigFromModifiers=modifiers=>{let config={plugins:[]},getModifierArgument=modifier=>modifiers[modifiers.indexOf(modifier)+1];if(modifiers.includes("animation")&&(config.animation=getModifierArgument("animation")),modifiers.includes("duration")&&(config.duration=parseInt(getModifierArgument("duration"))),modifiers.includes("delay")){let delay3=getModifierArgument("delay");config.delay=delay3.includes("-")?delay3.split("-").map(n=>parseInt(n)):parseInt(delay3)}if(modifiers.includes("cursor")){config.plugins.push(import_tippy.followCursor);let next=getModifierArgument("cursor");["x","initial"].includes(next)?config.followCursor=next==="x"?"horizontal":"initial":config.followCursor=!0}return modifiers.includes("on")&&(config.trigger=getModifierArgument("on")),modifiers.includes("arrowless")&&(config.arrow=!1),modifiers.includes("html")&&(config.allowHTML=!0),modifiers.includes("interactive")&&(config.interactive=!0),modifiers.includes("border")&&config.interactive&&(config.interactiveBorder=parseInt(getModifierArgument("border"))),modifiers.includes("debounce")&&config.interactive&&(config.interactiveDebounce=parseInt(getModifierArgument("debounce"))),modifiers.includes("max-width")&&(config.maxWidth=parseInt(getModifierArgument("max-width"))),modifiers.includes("theme")&&(config.theme=getModifierArgument("theme")),modifiers.includes("placement")&&(config.placement=getModifierArgument("placement")),config};function src_default5(Alpine){Alpine.magic("tooltip",el=>(content,config={})=>{let instance=(0,import_tippy2.default)(el,{content,trigger:"manual",...config});instance.show(),setTimeout(()=>{instance.hide(),setTimeout(()=>instance.destroy(),config.duration||300)},config.timeout||2e3)}),Alpine.directive("tooltip",(el,{modifiers,expression},{evaluateLater,effect})=>{let config=modifiers.length>0?buildConfigFromModifiers(modifiers):{};el.__x_tippy||(el.__x_tippy=(0,import_tippy2.default)(el,config));let enableTooltip=()=>el.__x_tippy.enable(),disableTooltip=()=>el.__x_tippy.disable(),setupTooltip=content=>{content?(enableTooltip(),el.__x_tippy.setContent(content)):disableTooltip()};if(modifiers.includes("raw"))setupTooltip(expression);else{let getContent=evaluateLater(expression);effect(()=>{getContent(content=>{typeof content=="object"?(el.__x_tippy.setProps(content),enableTooltip()):setupTooltip(content)})})}})}var module_default5=src_default5;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(module_default),window.Alpine.plugin(module_default2),window.Alpine.plugin(module_default3),window.Alpine.plugin(module_default4),window.Alpine.plugin(module_default5),window.Alpine.store("sidebar",{isOpen:window.Alpine.$persist(!0).as("isOpen"),collapsedGroups:window.Alpine.$persist([]).as("collapsedGroups"),groupIsCollapsed:function(group){return this.collapsedGroups.includes(group)},collapseGroup:function(group){this.collapsedGroups.includes(group)||(this.collapsedGroups=this.collapsedGroups.concat(group))},toggleCollapsedGroup:function(group){this.collapsedGroups=this.collapsedGroups.includes(group)?this.collapsedGroups.filter(collapsedGroup=>collapsedGroup!==group):this.collapsedGroups.concat(group)},close:function(){this.isOpen=!1},open:function(){this.isOpen=!0}}),window.Alpine.store("theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("dark-mode-toggled",event=>{window.Alpine.store("theme",event.detail)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",event=>{window.Alpine.store("theme",event.matches?"dark":"light")})});})(); /*! * focus-trap 6.6.1 * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE diff --git a/packages/app/resources/js/index.js b/packages/app/resources/js/index.js index cdeb67aeb9..5048cc4054 100644 --- a/packages/app/resources/js/index.js +++ b/packages/app/resources/js/index.js @@ -1,4 +1,3 @@ -import Chart from 'chart.js/auto' import Collapse from '@alpinejs/collapse' import Focus from '@alpinejs/focus' import Mousetrap from '@danharrin/alpine-mousetrap' @@ -63,8 +62,3 @@ document.addEventListener('alpine:init', () => { window.Alpine.store('theme', event.matches ? 'dark' : 'light') }) }) - -Chart.defaults.font.family = `'DM Sans', sans-serif` -Chart.defaults.color = '#6b7280' - -window.Chart = Chart diff --git a/packages/app/resources/views/components/page.blade.php b/packages/app/resources/views/components/page.blade.php index cc046c98e5..309ef3893d 100644 --- a/packages/app/resources/views/components/page.blade.php +++ b/packages/app/resources/views/components/page.blade.php @@ -15,7 +15,7 @@ @endif @if ($headerWidgets = $this->getHeaderWidgets()) - getFooterWidgets()) - - diff --git a/packages/app/resources/views/widgets/account-widget.blade.php b/packages/app/resources/views/widgets/account-widget.blade.php index e0bbbcf56d..5bbcd9ac70 100644 --- a/packages/app/resources/views/widgets/account-widget.blade.php +++ b/packages/app/resources/views/widgets/account-widget.blade.php @@ -1,5 +1,5 @@ -
- - + + diff --git a/packages/app/resources/views/widgets/chart-widget.blade.php b/packages/app/resources/views/widgets/chart-widget.blade.php deleted file mode 100644 index e1d50ab63d..0000000000 --- a/packages/app/resources/views/widgets/chart-widget.blade.php +++ /dev/null @@ -1,103 +0,0 @@ -@php - $heading = $this->getHeading(); - $filters = $this->getFilters(); -@endphp - - - - @if ($heading || $filters) -
- @if ($heading) - - {{ $heading }} - - @endif - - @if ($filters) - - @endif -
- - - @endif - -
getPollingInterval()) ? "wire:poll.{$pollingInterval}=\"updateChartData\"" : '' !!}> - getMaxHeight()) - style="max-height: {{ $maxHeight }}" - @endif - > - config('filament.dark_mode'), - ]) - > - - config('filament.dark_mode'), - ]) - > - -
-
-
diff --git a/packages/app/resources/views/widgets/filament-info-widget.blade.php b/packages/app/resources/views/widgets/filament-info-widget.blade.php index 0920932bb4..21d69c326f 100644 --- a/packages/app/resources/views/widgets/filament-info-widget.blade.php +++ b/packages/app/resources/views/widgets/filament-info-widget.blade.php @@ -1,5 +1,5 @@ - - + +
- - + + diff --git a/packages/app/resources/views/widgets/table-widget.blade.php b/packages/app/resources/views/widgets/table-widget.blade.php deleted file mode 100644 index 5dbb5c1933..0000000000 --- a/packages/app/resources/views/widgets/table-widget.blade.php +++ /dev/null @@ -1,3 +0,0 @@ - - {{ $this->table }} - diff --git a/packages/app/src/FilamentServiceProvider.php b/packages/app/src/FilamentServiceProvider.php index 8557962765..d4b4d50c51 100644 --- a/packages/app/src/FilamentServiceProvider.php +++ b/packages/app/src/FilamentServiceProvider.php @@ -268,7 +268,6 @@ class FilamentServiceProvider extends PluginServiceProvider Commands\MakeRelationManagerCommand::class, Commands\MakeResourceCommand::class, Commands\MakeUserCommand::class, - Commands\MakeWidgetCommand::class, ]; $aliases = []; diff --git a/packages/app/stubs/WidgetView.stub b/packages/app/stubs/WidgetView.stub deleted file mode 100644 index 13e3d2d84a..0000000000 --- a/packages/app/stubs/WidgetView.stub +++ /dev/null @@ -1,5 +0,0 @@ - - - {{-- Widget content --}} - - diff --git a/packages/navigation/composer.json b/packages/navigation/composer.json new file mode 100644 index 0000000000..03c8c9168b --- /dev/null +++ b/packages/navigation/composer.json @@ -0,0 +1,34 @@ +{ + "name": "filament/navigation", + "description": "Effortlessly build TALL-powered navigation menus.", + "license": "MIT", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "require": { + "php": "^8.0", + "blade-ui-kit/blade-heroicons": "^2.0", + "filament/support": "self.version", + "livewire/livewire": "^2.10.7", + "spatie/laravel-package-tools": "^1.9" + }, + "autoload": { + "psr-4": { + "Filament\\Navigation\\": "src" + } + }, + "extra": { + "laravel": { + "providers": [ + "Filament\\Navigation\\NavigationServiceProvider" + ] + } + }, + "config": { + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/packages/app/src/Navigation/NavigationBuilder.php b/packages/navigation/src/NavigationBuilder.php similarity index 100% rename from packages/app/src/Navigation/NavigationBuilder.php rename to packages/navigation/src/NavigationBuilder.php diff --git a/packages/app/src/Navigation/NavigationGroup.php b/packages/navigation/src/NavigationGroup.php similarity index 100% rename from packages/app/src/Navigation/NavigationGroup.php rename to packages/navigation/src/NavigationGroup.php diff --git a/packages/app/src/Navigation/NavigationItem.php b/packages/navigation/src/NavigationItem.php similarity index 100% rename from packages/app/src/Navigation/NavigationItem.php rename to packages/navigation/src/NavigationItem.php diff --git a/packages/navigation/src/NavigationServiceProvider.php b/packages/navigation/src/NavigationServiceProvider.php new file mode 100644 index 0000000000..320391d4d6 --- /dev/null +++ b/packages/navigation/src/NavigationServiceProvider.php @@ -0,0 +1,10 @@ +(typeof value=="number"||value instanceof Number)&&isFinite(+value);function finiteOrDefault(value,defaultValue){return isNumberFinite(value)?value:defaultValue}function valueOrDefault(value,defaultValue){return typeof value=="undefined"?defaultValue:value}var toPercentage=(value,dimension)=>typeof value=="string"&&value.endsWith("%")?parseFloat(value)/100:value/dimension,toDimension=(value,dimension)=>typeof value=="string"&&value.endsWith("%")?parseFloat(value)/100*dimension:+value;function callback(fn,args,thisArg){if(fn&&typeof fn.call=="function")return fn.apply(thisArg,args)}function each(loopable,fn,thisArg,reverse){let i,len,keys;if(isArray(loopable))if(len=loopable.length,reverse)for(i=len-1;i>=0;i--)fn.call(thisArg,loopable[i],i);else for(i=0;iv,x:o=>o.x,y:o=>o.y};function resolveObjectKey(obj,key){return(keyResolvers[key]||(keyResolvers[key]=_getKeyResolver(key)))(obj)}function _getKeyResolver(key){let keys=_splitKey(key);return obj=>{for(let k of keys){if(k==="")break;obj=obj&&obj[k]}return obj}}function _splitKey(key){let parts=key.split("."),keys=[],tmp="";for(let part of parts)tmp+=part,tmp.endsWith("\\")?tmp=tmp.slice(0,-1)+".":(keys.push(tmp),tmp="");return keys}function _capitalize(str){return str.charAt(0).toUpperCase()+str.slice(1)}var defined=value=>typeof value!="undefined",isFunction=value=>typeof value=="function",setsEqual=(a,b)=>{if(a.size!==b.size)return!1;for(let item of a)if(!b.has(item))return!1;return!0};function _isClickEvent(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}var PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function niceNum(range){let roundedRange=Math.round(range);range=almostEquals(range,roundedRange,range/1e3)?roundedRange:range;let niceRange=Math.pow(10,Math.floor(log10(range))),fraction=range/niceRange;return(fraction<=1?1:fraction<=2?2:fraction<=5?5:10)*niceRange}function _factorize(value){let result=[],sqrt=Math.sqrt(value),i;for(i=1;ia-b).pop(),result}function isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function almostEquals(x,y,epsilon){return Math.abs(x-y)=x}function _setMinAndMaxByKey(array,target,property){let i,ilen,value;for(i=0,ilen=array.length;iangleToEnd&&startToAngle=Math.min(start,end)-epsilon&&value<=Math.max(start,end)+epsilon}function _lookup(table,value,cmp){cmp=cmp||(index2=>table[index2]1;)mid=lo+hi>>1,cmp(mid)?lo=mid:hi=mid;return{lo,hi}}var _lookupByKey=(table,key,value,last)=>_lookup(table,value,last?index2=>table[index2][key]<=value:index2=>table[index2][key]_lookup(table,value,index2=>table[index2][key]>=value);function _filterBetween(values,min,max){let start=0,end=values.length;for(;startstart&&values[end-1]>max;)end--;return start>0||end{let method="_onData"+_capitalize(key),base=array[key];Object.defineProperty(array,key,{configurable:!0,enumerable:!1,value(...args){let res=base.apply(this,args);return array._chartjs.listeners.forEach(object=>{typeof object[method]=="function"&&object[method](...args)}),res}})})}function unlistenArrayEvents(array,listener){let stub=array._chartjs;if(!stub)return;let listeners=stub.listeners,index2=listeners.indexOf(listener);index2!==-1&&listeners.splice(index2,1),!(listeners.length>0)&&(arrayEvents.forEach(key=>{delete array[key]}),delete array._chartjs)}function _arrayUnique(items){let set2=new Set,i,ilen;for(i=0,ilen=items.length;iArray.prototype.slice.call(args2)),ticking=!1,args=[];return function(...rest){args=updateArgs(rest),ticking||(ticking=!0,requestAnimFrame.call(window,()=>{ticking=!1,fn.apply(thisArg,args)}))}}function debounce(fn,delay){let timeout;return function(...args){return delay?(clearTimeout(timeout),timeout=setTimeout(fn,delay,args)):fn.apply(this,args),delay}}var _toLeftRightCenter=align=>align==="start"?"left":align==="end"?"right":"center",_alignStartEnd=(align,start,end)=>align==="start"?start:align==="end"?end:(start+end)/2,_textX=(align,left,right,rtl)=>align===(rtl?"left":"right")?right:align==="center"?(left+right)/2:left;function _getStartAndCountOfVisiblePoints(meta,points,animationsDisabled){let pointCount=points.length,start=0,count=pointCount;if(meta._sorted){let{iScale,_parsed}=meta,axis=iScale.axis,{min,max,minDefined,maxDefined}=iScale.getUserBounds();minDefined&&(start=_limitValue(Math.min(_lookupByKey(_parsed,iScale.axis,min).lo,animationsDisabled?pointCount:_lookupByKey(points,axis,iScale.getPixelForValue(min)).lo),0,pointCount-1)),maxDefined?count=_limitValue(Math.max(_lookupByKey(_parsed,iScale.axis,max,!0).hi+1,animationsDisabled?0:_lookupByKey(points,axis,iScale.getPixelForValue(max),!0).hi+1),start,pointCount)-start:count=pointCount-start}return{start,count}}function _scaleRangesChanged(meta){let{xScale,yScale,_scaleRanges}=meta,newRanges={xmin:xScale.min,xmax:xScale.max,ymin:yScale.min,ymax:yScale.max};if(!_scaleRanges)return meta._scaleRanges=newRanges,!0;let changed=_scaleRanges.xmin!==xScale.min||_scaleRanges.xmax!==xScale.max||_scaleRanges.ymin!==yScale.min||_scaleRanges.ymax!==yScale.max;return Object.assign(_scaleRanges,newRanges),changed}var atEdge=t=>t===0||t===1,elasticIn=(t,s,p)=>-(Math.pow(2,10*(t-=1))*Math.sin((t-s)*TAU/p)),elasticOut=(t,s,p)=>Math.pow(2,-10*t)*Math.sin((t-s)*TAU/p)+1,effects={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>-Math.cos(t*HALF_PI)+1,easeOutSine:t=>Math.sin(t*HALF_PI),easeInOutSine:t=>-.5*(Math.cos(PI*t)-1),easeInExpo:t=>t===0?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>t===1?1:-Math.pow(2,-10*t)+1,easeInOutExpo:t=>atEdge(t)?t:t<.5?.5*Math.pow(2,10*(t*2-1)):.5*(-Math.pow(2,-10*(t*2-1))+2),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>atEdge(t)?t:elasticIn(t,.075,.3),easeOutElastic:t=>atEdge(t)?t:elasticOut(t,.075,.3),easeInOutElastic(t){let s=.1125,p=.45;return atEdge(t)?t:t<.5?.5*elasticIn(t*2,s,p):.5+.5*elasticOut(t*2-1,s,p)},easeInBack(t){let s=1.70158;return t*t*((s+1)*t-s)},easeOutBack(t){let s=1.70158;return(t-=1)*t*((s+1)*t+s)+1},easeInOutBack(t){let s=1.70158;return(t/=.5)<1?.5*(t*t*(((s*=1.525)+1)*t-s)):.5*((t-=2)*t*(((s*=1.525)+1)*t+s)+2)},easeInBounce:t=>1-effects.easeOutBounce(1-t),easeOutBounce(t){let m=7.5625,d=2.75;return t<1/d?m*t*t:t<2/d?m*(t-=1.5/d)*t+.75:t<2.5/d?m*(t-=2.25/d)*t+.9375:m*(t-=2.625/d)*t+.984375},easeInOutBounce:t=>t<.5?effects.easeInBounce(t*2)*.5:effects.easeOutBounce(t*2-1)*.5+.5};function round(v){return v+.5|0}var lim=(v,l,h)=>Math.max(Math.min(v,h),l);function p2b(v){return lim(round(v*2.55),0,255)}function n2b(v){return lim(round(v*255),0,255)}function b2n(v){return lim(round(v/2.55)/100,0,1)}function n2p(v){return lim(round(v*100),0,100)}var map$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},hex=[..."0123456789ABCDEF"],h1=b=>hex[b&15],h2=b=>hex[(b&240)>>4]+hex[b&15],eq=b=>(b&240)>>4==(b&15),isShort=v=>eq(v.r)&&eq(v.g)&&eq(v.b)&&eq(v.a);function hexParse(str){var len=str.length,ret;return str[0]==="#"&&(len===4||len===5?ret={r:255&map$1[str[1]]*17,g:255&map$1[str[2]]*17,b:255&map$1[str[3]]*17,a:len===5?map$1[str[4]]*17:255}:(len===7||len===9)&&(ret={r:map$1[str[1]]<<4|map$1[str[2]],g:map$1[str[3]]<<4|map$1[str[4]],b:map$1[str[5]]<<4|map$1[str[6]],a:len===9?map$1[str[7]]<<4|map$1[str[8]]:255})),ret}var alpha=(a,f)=>a<255?f(a):"";function hexString(v){var f=isShort(v)?h1:h2;return v?"#"+f(v.r)+f(v.g)+f(v.b)+alpha(v.a,f):void 0}var HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(h,s,l){let a=s*Math.min(l,1-l),f=(n,k=(n+h/30)%12)=>l-a*Math.max(Math.min(k-3,9-k,1),-1);return[f(0),f(8),f(4)]}function hsv2rgbn(h,s,v){let f=(n,k=(n+h/60)%6)=>v-v*s*Math.max(Math.min(k,4-k,1),0);return[f(5),f(3),f(1)]}function hwb2rgbn(h,w,b){let rgb=hsl2rgbn(h,1,.5),i;for(w+b>1&&(i=1/(w+b),w*=i,b*=i),i=0;i<3;i++)rgb[i]*=1-w-b,rgb[i]+=w;return rgb}function hueValue(r,g,b,d,max){return r===max?(g-b)/d+(g.5?d/(2-max-min):d/(max+min),h=hueValue(r,g,b,d,max),h=h*60+.5),[h|0,s||0,l]}function calln(f,a,b,c){return(Array.isArray(a)?f(a[0],a[1],a[2]):f(a,b,c)).map(n2b)}function hsl2rgb(h,s,l){return calln(hsl2rgbn,h,s,l)}function hwb2rgb(h,w,b){return calln(hwb2rgbn,h,w,b)}function hsv2rgb(h,s,v){return calln(hsv2rgbn,h,s,v)}function hue(h){return(h%360+360)%360}function hueParse(str){let m=HUE_RE.exec(str),a=255,v;if(!m)return;m[5]!==v&&(a=m[6]?p2b(+m[5]):n2b(+m[5]));let h=hue(+m[2]),p1=+m[3]/100,p2=+m[4]/100;return m[1]==="hwb"?v=hwb2rgb(h,p1,p2):m[1]==="hsv"?v=hsv2rgb(h,p1,p2):v=hsl2rgb(h,p1,p2),{r:v[0],g:v[1],b:v[2],a}}function rotate(v,deg){var h=rgb2hsl(v);h[0]=hue(h[0]+deg),h=hsl2rgb(h),v.r=h[0],v.g=h[1],v.b=h[2]}function hslString(v){if(!v)return;let a=rgb2hsl(v),h=a[0],s=n2p(a[1]),l=n2p(a[2]);return v.a<255?`hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`:`hsl(${h}, ${s}%, ${l}%)`}var map={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){let unpacked={},keys=Object.keys(names$1),tkeys=Object.keys(map),i,j,k,ok,nk;for(i=0;i>16&255,k>>8&255,k&255]}return unpacked}var names;function nameParse(str){names||(names=unpack(),names.transparent=[0,0,0,0]);let a=names[str.toLowerCase()];return a&&{r:a[0],g:a[1],b:a[2],a:a.length===4?a[3]:255}}var RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(str){let m=RGB_RE.exec(str),a=255,r,g,b;if(!!m){if(m[7]!==r){let v=+m[7];a=m[8]?p2b(v):lim(v*255,0,255)}return r=+m[1],g=+m[3],b=+m[5],r=255&(m[2]?p2b(r):lim(r,0,255)),g=255&(m[4]?p2b(g):lim(g,0,255)),b=255&(m[6]?p2b(b):lim(b,0,255)),{r,g,b,a}}}function rgbString(v){return v&&(v.a<255?`rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`:`rgb(${v.r}, ${v.g}, ${v.b})`)}var to=v=>v<=.0031308?v*12.92:Math.pow(v,1/2.4)*1.055-.055,from=v=>v<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4);function interpolate(rgb1,rgb2,t){let r=from(b2n(rgb1.r)),g=from(b2n(rgb1.g)),b=from(b2n(rgb1.b));return{r:n2b(to(r+t*(from(b2n(rgb2.r))-r))),g:n2b(to(g+t*(from(b2n(rgb2.g))-g))),b:n2b(to(b+t*(from(b2n(rgb2.b))-b))),a:rgb1.a+t*(rgb2.a-rgb1.a)}}function modHSL(v,i,ratio){if(v){let tmp=rgb2hsl(v);tmp[i]=Math.max(0,Math.min(tmp[i]+tmp[i]*ratio,i===0?360:1)),tmp=hsl2rgb(tmp),v.r=tmp[0],v.g=tmp[1],v.b=tmp[2]}}function clone(v,proto){return v&&Object.assign(proto||{},v)}function fromObject(input){var v={r:0,g:0,b:0,a:255};return Array.isArray(input)?input.length>=3&&(v={r:input[0],g:input[1],b:input[2],a:255},input.length>3&&(v.a=n2b(input[3]))):(v=clone(input,{r:0,g:0,b:0,a:1}),v.a=n2b(v.a)),v}function functionParse(str){return str.charAt(0)==="r"?rgbParse(str):hueParse(str)}var Color=class{constructor(input){if(input instanceof Color)return input;let type=typeof input,v;type==="object"?v=fromObject(input):type==="string"&&(v=hexParse(input)||nameParse(input)||functionParse(input)),this._rgb=v,this._valid=!!v}get valid(){return this._valid}get rgb(){var v=clone(this._rgb);return v&&(v.a=b2n(v.a)),v}set rgb(obj){this._rgb=fromObject(obj)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(color2,weight){if(color2){let c1=this.rgb,c2=color2.rgb,w2,p=weight===w2?.5:weight,w=2*p-1,a=c1.a-c2.a,w1=((w*a==-1?w:(w+a)/(1+w*a))+1)/2;w2=1-w1,c1.r=255&w1*c1.r+w2*c2.r+.5,c1.g=255&w1*c1.g+w2*c2.g+.5,c1.b=255&w1*c1.b+w2*c2.b+.5,c1.a=p*c1.a+(1-p)*c2.a,this.rgb=c1}return this}interpolate(color2,t){return color2&&(this._rgb=interpolate(this._rgb,color2._rgb,t)),this}clone(){return new Color(this.rgb)}alpha(a){return this._rgb.a=n2b(a),this}clearer(ratio){let rgb=this._rgb;return rgb.a*=1-ratio,this}greyscale(){let rgb=this._rgb,val=round(rgb.r*.3+rgb.g*.59+rgb.b*.11);return rgb.r=rgb.g=rgb.b=val,this}opaquer(ratio){let rgb=this._rgb;return rgb.a*=1+ratio,this}negate(){let v=this._rgb;return v.r=255-v.r,v.g=255-v.g,v.b=255-v.b,this}lighten(ratio){return modHSL(this._rgb,2,ratio),this}darken(ratio){return modHSL(this._rgb,2,-ratio),this}saturate(ratio){return modHSL(this._rgb,1,ratio),this}desaturate(ratio){return modHSL(this._rgb,1,-ratio),this}rotate(deg){return rotate(this._rgb,deg),this}};function index_esm(input){return new Color(input)}function isPatternOrGradient(value){if(value&&typeof value=="object"){let type=value.toString();return type==="[object CanvasPattern]"||type==="[object CanvasGradient]"}return!1}function color(value){return isPatternOrGradient(value)?value:index_esm(value)}function getHoverColor(value){return isPatternOrGradient(value)?value:index_esm(value).saturate(.5).darken(.1).hexString()}var overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(node,key){if(!key)return node;let keys=key.split(".");for(let i=0,n=keys.length;icontext.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(ctx,options)=>getHoverColor(options.backgroundColor),this.hoverBorderColor=(ctx,options)=>getHoverColor(options.borderColor),this.hoverColor=(ctx,options)=>getHoverColor(options.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(_descriptors2)}set(scope,values){return set(this,scope,values)}get(scope){return getScope$1(this,scope)}describe(scope,values){return set(descriptors,scope,values)}override(scope,values){return set(overrides,scope,values)}route(scope,name,targetScope,targetName){let scopeObject=getScope$1(this,scope),targetScopeObject=getScope$1(this,targetScope),privateName="_"+name;Object.defineProperties(scopeObject,{[privateName]:{value:scopeObject[name],writable:!0},[name]:{enumerable:!0,get(){let local=this[privateName],target=targetScopeObject[targetName];return isObject(local)?Object.assign({},target,local):valueOrDefault(local,target)},set(value){this[privateName]=value}}})}},defaults=new Defaults({_scriptable:name=>!name.startsWith("on"),_indexable:name=>name!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function toFontString(font){return!font||isNullOrUndef(font.size)||isNullOrUndef(font.family)?null:(font.style?font.style+" ":"")+(font.weight?font.weight+" ":"")+font.size+"px "+font.family}function _measureText(ctx,data,gc,longest,string){let textWidth=data[string];return textWidth||(textWidth=data[string]=ctx.measureText(string).width,gc.push(string)),textWidth>longest&&(longest=textWidth),longest}function _longestText(ctx,font,arrayOfThings,cache){cache=cache||{};let data=cache.data=cache.data||{},gc=cache.garbageCollect=cache.garbageCollect||[];cache.font!==font&&(data=cache.data={},gc=cache.garbageCollect=[],cache.font=font),ctx.save(),ctx.font=font;let longest=0,ilen=arrayOfThings.length,i,j,jlen,thing,nestedThing;for(i=0;iarrayOfThings.length){for(i=0;i0&&ctx.stroke()}}function _isPointInArea(point,area,margin){return margin=margin||.5,!area||point&&point.x>area.left-margin&&point.xarea.top-margin&&point.y0&&opts.strokeColor!=="",i,line;for(ctx.save(),ctx.font=font.string,setRenderOpts(ctx,opts),i=0;i+v||0;function _readValueToProps(value,props){let ret={},objProps=isObject(props),keys=objProps?Object.keys(props):props,read=isObject(value)?objProps?prop=>valueOrDefault(value[prop],value[props[prop]]):prop=>value[prop]:()=>value;for(let prop of keys)ret[prop]=numberOrZero(read(prop));return ret}function toTRBL(value){return _readValueToProps(value,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(value){return _readValueToProps(value,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(value){let obj=toTRBL(value);return obj.width=obj.left+obj.right,obj.height=obj.top+obj.bottom,obj}function toFont(options,fallback){options=options||{},fallback=fallback||defaults.font;let size=valueOrDefault(options.size,fallback.size);typeof size=="string"&&(size=parseInt(size,10));let style=valueOrDefault(options.style,fallback.style);style&&!(""+style).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+style+'"'),style="");let font={family:valueOrDefault(options.family,fallback.family),lineHeight:toLineHeight(valueOrDefault(options.lineHeight,fallback.lineHeight),size),size,style,weight:valueOrDefault(options.weight,fallback.weight),string:""};return font.string=toFontString(font),font}function resolve(inputs,context,index2,info){let cacheable=!0,i,ilen,value;for(i=0,ilen=inputs.length;ibeginAtZero&&value===0?0:value+add;return{min:keepZero(min,-Math.abs(change)),max:keepZero(max,change)}}function createContext(parentContext,context){return Object.assign(Object.create(parentContext),context)}function _createResolver(scopes,prefixes=[""],rootScopes=scopes,fallback,getTarget=()=>scopes[0]){defined(fallback)||(fallback=_resolve("_fallback",scopes));let cache={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:scopes,_rootScopes:rootScopes,_fallback:fallback,_getTarget:getTarget,override:scope=>_createResolver([scope,...scopes],prefixes,rootScopes,fallback)};return new Proxy(cache,{deleteProperty(target,prop){return delete target[prop],delete target._keys,delete scopes[0][prop],!0},get(target,prop){return _cached(target,prop,()=>_resolveWithPrefixes(prop,prefixes,scopes,target))},getOwnPropertyDescriptor(target,prop){return Reflect.getOwnPropertyDescriptor(target._scopes[0],prop)},getPrototypeOf(){return Reflect.getPrototypeOf(scopes[0])},has(target,prop){return getKeysFromAllScopes(target).includes(prop)},ownKeys(target){return getKeysFromAllScopes(target)},set(target,prop,value){let storage=target._storage||(target._storage=getTarget());return target[prop]=storage[prop]=value,delete target._keys,!0}})}function _attachContext(proxy,context,subProxy,descriptorDefaults){let cache={_cacheable:!1,_proxy:proxy,_context:context,_subProxy:subProxy,_stack:new Set,_descriptors:_descriptors(proxy,descriptorDefaults),setContext:ctx=>_attachContext(proxy,ctx,subProxy,descriptorDefaults),override:scope=>_attachContext(proxy.override(scope),context,subProxy,descriptorDefaults)};return new Proxy(cache,{deleteProperty(target,prop){return delete target[prop],delete proxy[prop],!0},get(target,prop,receiver){return _cached(target,prop,()=>_resolveWithContext(target,prop,receiver))},getOwnPropertyDescriptor(target,prop){return target._descriptors.allKeys?Reflect.has(proxy,prop)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(proxy,prop)},getPrototypeOf(){return Reflect.getPrototypeOf(proxy)},has(target,prop){return Reflect.has(proxy,prop)},ownKeys(){return Reflect.ownKeys(proxy)},set(target,prop,value){return proxy[prop]=value,delete target[prop],!0}})}function _descriptors(proxy,defaults2={scriptable:!0,indexable:!0}){let{_scriptable=defaults2.scriptable,_indexable=defaults2.indexable,_allKeys=defaults2.allKeys}=proxy;return{allKeys:_allKeys,scriptable:_scriptable,indexable:_indexable,isScriptable:isFunction(_scriptable)?_scriptable:()=>_scriptable,isIndexable:isFunction(_indexable)?_indexable:()=>_indexable}}var readKey=(prefix,name)=>prefix?prefix+_capitalize(name):name,needsSubResolver=(prop,value)=>isObject(value)&&prop!=="adapters"&&(Object.getPrototypeOf(value)===null||value.constructor===Object);function _cached(target,prop,resolve2){if(Object.prototype.hasOwnProperty.call(target,prop))return target[prop];let value=resolve2();return target[prop]=value,value}function _resolveWithContext(target,prop,receiver){let{_proxy,_context,_subProxy,_descriptors:descriptors2}=target,value=_proxy[prop];return isFunction(value)&&descriptors2.isScriptable(prop)&&(value=_resolveScriptable(prop,value,target,receiver)),isArray(value)&&value.length&&(value=_resolveArray(prop,value,target,descriptors2.isIndexable)),needsSubResolver(prop,value)&&(value=_attachContext(value,_context,_subProxy&&_subProxy[prop],descriptors2)),value}function _resolveScriptable(prop,value,target,receiver){let{_proxy,_context,_subProxy,_stack}=target;if(_stack.has(prop))throw new Error("Recursion detected: "+Array.from(_stack).join("->")+"->"+prop);return _stack.add(prop),value=value(_context,_subProxy||receiver),_stack.delete(prop),needsSubResolver(prop,value)&&(value=createSubResolver(_proxy._scopes,_proxy,prop,value)),value}function _resolveArray(prop,value,target,isIndexable){let{_proxy,_context,_subProxy,_descriptors:descriptors2}=target;if(defined(_context.index)&&isIndexable(prop))value=value[_context.index%value.length];else if(isObject(value[0])){let arr=value,scopes=_proxy._scopes.filter(s=>s!==arr);value=[];for(let item of arr){let resolver=createSubResolver(scopes,_proxy,prop,item);value.push(_attachContext(resolver,_context,_subProxy&&_subProxy[prop],descriptors2))}}return value}function resolveFallback(fallback,prop,value){return isFunction(fallback)?fallback(prop,value):fallback}var getScope=(key,parent)=>key===!0?parent:typeof key=="string"?resolveObjectKey(parent,key):void 0;function addScopes(set2,parentScopes,key,parentFallback,value){for(let parent of parentScopes){let scope=getScope(key,parent);if(scope){set2.add(scope);let fallback=resolveFallback(scope._fallback,key,value);if(defined(fallback)&&fallback!==key&&fallback!==parentFallback)return fallback}else if(scope===!1&&defined(parentFallback)&&key!==parentFallback)return null}return!1}function createSubResolver(parentScopes,resolver,prop,value){let rootScopes=resolver._rootScopes,fallback=resolveFallback(resolver._fallback,prop,value),allScopes=[...parentScopes,...rootScopes],set2=new Set;set2.add(value);let key=addScopesFromKey(set2,allScopes,prop,fallback||prop,value);return key===null||defined(fallback)&&fallback!==prop&&(key=addScopesFromKey(set2,allScopes,fallback,key,value),key===null)?!1:_createResolver(Array.from(set2),[""],rootScopes,fallback,()=>subGetTarget(resolver,prop,value))}function addScopesFromKey(set2,allScopes,key,fallback,item){for(;key;)key=addScopes(set2,allScopes,key,fallback,item);return key}function subGetTarget(resolver,prop,value){let parent=resolver._getTarget();prop in parent||(parent[prop]={});let target=parent[prop];return isArray(target)&&isObject(value)?value:target}function _resolveWithPrefixes(prop,prefixes,scopes,proxy){let value;for(let prefix of prefixes)if(value=_resolve(readKey(prefix,prop),scopes),defined(value))return needsSubResolver(prop,value)?createSubResolver(scopes,proxy,prop,value):value}function _resolve(key,scopes){for(let scope of scopes){if(!scope)continue;let value=scope[key];if(defined(value))return value}}function getKeysFromAllScopes(target){let keys=target._keys;return keys||(keys=target._keys=resolveKeysFromAllScopes(target._scopes)),keys}function resolveKeysFromAllScopes(scopes){let set2=new Set;for(let scope of scopes)for(let key of Object.keys(scope).filter(k=>!k.startsWith("_")))set2.add(key);return Array.from(set2)}function _parseObjectDataRadialScale(meta,data,start,count){let{iScale}=meta,{key="r"}=this._parsing,parsed=new Array(count),i,ilen,index2,item;for(i=0,ilen=count;iiindexAxis==="x"?"y":"x";function splineCurve(firstPoint,middlePoint,afterPoint,t){let previous=firstPoint.skip?middlePoint:firstPoint,current=middlePoint,next=afterPoint.skip?middlePoint:afterPoint,d01=distanceBetweenPoints(current,previous),d12=distanceBetweenPoints(next,current),s01=d01/(d01+d12),s12=d12/(d01+d12);s01=isNaN(s01)?0:s01,s12=isNaN(s12)?0:s12;let fa=t*s01,fb=t*s12;return{previous:{x:current.x-fa*(next.x-previous.x),y:current.y-fa*(next.y-previous.y)},next:{x:current.x+fb*(next.x-previous.x),y:current.y+fb*(next.y-previous.y)}}}function monotoneAdjust(points,deltaK,mK){let pointsLen=points.length,alphaK,betaK,tauK,squaredMagnitude,pointCurrent,pointAfter=getPoint(points,0);for(let i=0;i!pt.skip)),options.cubicInterpolationMode==="monotone")splineCurveMonotone(points,indexAxis);else{let prev=loop?points[points.length-1]:points[0];for(i=0,ilen=points.length;iwindow.getComputedStyle(element,null);function getStyle(el,property){return getComputedStyle2(el).getPropertyValue(property)}var positions=["top","right","bottom","left"];function getPositionedStyle(styles,style,suffix){let result={};suffix=suffix?"-"+suffix:"";for(let i=0;i<4;i++){let pos=positions[i];result[pos]=parseFloat(styles[style+"-"+pos+suffix])||0}return result.width=result.left+result.right,result.height=result.top+result.bottom,result}var useOffsetPos=(x,y,target)=>(x>0||y>0)&&(!target||!target.shadowRoot);function getCanvasPosition(e,canvas){let touches=e.touches,source=touches&&touches.length?touches[0]:e,{offsetX,offsetY}=source,box=!1,x,y;if(useOffsetPos(offsetX,offsetY,e.target))x=offsetX,y=offsetY;else{let rect=canvas.getBoundingClientRect();x=source.clientX-rect.left,y=source.clientY-rect.top,box=!0}return{x,y,box}}function getRelativePosition(evt,chart2){if("native"in evt)return evt;let{canvas,currentDevicePixelRatio}=chart2,style=getComputedStyle2(canvas),borderBox=style.boxSizing==="border-box",paddings=getPositionedStyle(style,"padding"),borders=getPositionedStyle(style,"border","width"),{x,y,box}=getCanvasPosition(evt,canvas),xOffset=paddings.left+(box&&borders.left),yOffset=paddings.top+(box&&borders.top),{width,height}=chart2;return borderBox&&(width-=paddings.width+borders.width,height-=paddings.height+borders.height),{x:Math.round((x-xOffset)/width*canvas.width/currentDevicePixelRatio),y:Math.round((y-yOffset)/height*canvas.height/currentDevicePixelRatio)}}function getContainerSize(canvas,width,height){let maxWidth,maxHeight;if(width===void 0||height===void 0){let container=_getParentNode(canvas);if(!container)width=canvas.clientWidth,height=canvas.clientHeight;else{let rect=container.getBoundingClientRect(),containerStyle=getComputedStyle2(container),containerBorder=getPositionedStyle(containerStyle,"border","width"),containerPadding=getPositionedStyle(containerStyle,"padding");width=rect.width-containerPadding.width-containerBorder.width,height=rect.height-containerPadding.height-containerBorder.height,maxWidth=parseMaxStyle(containerStyle.maxWidth,container,"clientWidth"),maxHeight=parseMaxStyle(containerStyle.maxHeight,container,"clientHeight")}}return{width,height,maxWidth:maxWidth||INFINITY,maxHeight:maxHeight||INFINITY}}var round1=v=>Math.round(v*10)/10;function getMaximumSize(canvas,bbWidth,bbHeight,aspectRatio){let style=getComputedStyle2(canvas),margins=getPositionedStyle(style,"margin"),maxWidth=parseMaxStyle(style.maxWidth,canvas,"clientWidth")||INFINITY,maxHeight=parseMaxStyle(style.maxHeight,canvas,"clientHeight")||INFINITY,containerSize=getContainerSize(canvas,bbWidth,bbHeight),{width,height}=containerSize;if(style.boxSizing==="content-box"){let borders=getPositionedStyle(style,"border","width"),paddings=getPositionedStyle(style,"padding");width-=paddings.width+borders.width,height-=paddings.height+borders.height}return width=Math.max(0,width-margins.width),height=Math.max(0,aspectRatio?Math.floor(width/aspectRatio):height-margins.height),width=round1(Math.min(width,maxWidth,containerSize.maxWidth)),height=round1(Math.min(height,maxHeight,containerSize.maxHeight)),width&&!height&&(height=round1(width/2)),{width,height}}function retinaScale(chart2,forceRatio,forceStyle){let pixelRatio=forceRatio||1,deviceHeight=Math.floor(chart2.height*pixelRatio),deviceWidth=Math.floor(chart2.width*pixelRatio);chart2.height=deviceHeight/pixelRatio,chart2.width=deviceWidth/pixelRatio;let canvas=chart2.canvas;return canvas.style&&(forceStyle||!canvas.style.height&&!canvas.style.width)&&(canvas.style.height=`${chart2.height}px`,canvas.style.width=`${chart2.width}px`),chart2.currentDevicePixelRatio!==pixelRatio||canvas.height!==deviceHeight||canvas.width!==deviceWidth?(chart2.currentDevicePixelRatio=pixelRatio,canvas.height=deviceHeight,canvas.width=deviceWidth,chart2.ctx.setTransform(pixelRatio,0,0,pixelRatio,0,0),!0):!1}var supportsEventListenerOptions=function(){let passiveSupported=!1;try{let options={get passive(){return passiveSupported=!0,!1}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(e){}return passiveSupported}();function readUsedSize(element,property){let value=getStyle(element,property),matches=value&&value.match(/^(\d+)(\.\d+)?px$/);return matches?+matches[1]:void 0}function _pointInLine(p1,p2,t,mode){return{x:p1.x+t*(p2.x-p1.x),y:p1.y+t*(p2.y-p1.y)}}function _steppedInterpolation(p1,p2,t,mode){return{x:p1.x+t*(p2.x-p1.x),y:mode==="middle"?t<.5?p1.y:p2.y:mode==="after"?t<1?p1.y:p2.y:t>0?p2.y:p1.y}}function _bezierInterpolation(p1,p2,t,mode){let cp1={x:p1.cp2x,y:p1.cp2y},cp2={x:p2.cp1x,y:p2.cp1y},a=_pointInLine(p1,cp1,t),b=_pointInLine(cp1,cp2,t),c=_pointInLine(cp2,p2,t),d=_pointInLine(a,b,t),e=_pointInLine(b,c,t);return _pointInLine(d,e,t)}var intlCache=new Map;function getNumberFormat(locale,options){options=options||{};let cacheKey=locale+JSON.stringify(options),formatter=intlCache.get(cacheKey);return formatter||(formatter=new Intl.NumberFormat(locale,options),intlCache.set(cacheKey,formatter)),formatter}function formatNumber(num,locale,options){return getNumberFormat(locale,options).format(num)}var getRightToLeftAdapter=function(rectX,width){return{x(x){return rectX+rectX+width-x},setWidth(w){width=w},textAlign(align){return align==="center"?align:align==="right"?"left":"right"},xPlus(x,value){return x-value},leftForLtr(x,itemWidth){return x-itemWidth}}},getLeftToRightAdapter=function(){return{x(x){return x},setWidth(w){},textAlign(align){return align},xPlus(x,value){return x+value},leftForLtr(x,_itemWidth){return x}}};function getRtlAdapter(rtl,rectX,width){return rtl?getRightToLeftAdapter(rectX,width):getLeftToRightAdapter()}function overrideTextDirection(ctx,direction){let style,original;(direction==="ltr"||direction==="rtl")&&(style=ctx.canvas.style,original=[style.getPropertyValue("direction"),style.getPropertyPriority("direction")],style.setProperty("direction",direction,"important"),ctx.prevTextDirection=original)}function restoreTextDirection(ctx,original){original!==void 0&&(delete ctx.prevTextDirection,ctx.canvas.style.setProperty("direction",original[0],original[1]))}function propertyFn(property){return property==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(a,b)=>a-b,normalize:x=>x}}function normalizeSegment({start,end,count,loop,style}){return{start:start%count,end:end%count,loop:loop&&(end-start+1)%count==0,style}}function getSegment(segment,points,bounds){let{property,start:startBound,end:endBound}=bounds,{between,normalize}=propertyFn(property),count=points.length,{start,end,loop}=segment,i,ilen;if(loop){for(start+=count,end+=count,i=0,ilen=count;ibetween(startBound,prevValue,value)&&compare(startBound,prevValue)!==0,endIsBefore=()=>compare(endBound,value)===0||between(endBound,prevValue,value),shouldStart=()=>inside||startIsBefore(),shouldStop=()=>!inside||endIsBefore();for(let i=start,prev=start;i<=end;++i)point=points[i%count],!point.skip&&(value=normalize(point[property]),value!==prevValue&&(inside=between(value,startBound,endBound),subStart===null&&shouldStart()&&(subStart=compare(value,startBound)===0?i:prev),subStart!==null&&shouldStop()&&(result.push(normalizeSegment({start:subStart,end:i,loop,count,style})),subStart=null),prev=i,prevValue=value));return subStart!==null&&result.push(normalizeSegment({start:subStart,end,loop,count,style})),result}function _boundSegments(line,bounds){let result=[],segments=line.segments;for(let i=0;istart&&points[end%count].skip;)end--;return end%=count,{start,end}}function solidSegments(points,start,max,loop){let count=points.length,result=[],last=start,prev=points[start],end;for(end=start+1;end<=max;++end){let cur=points[end%count];cur.skip||cur.stop?prev.skip||(loop=!1,result.push({start:start%count,end:(end-1)%count,loop}),start=last=cur.stop?end:null):(last=end,prev.skip&&(start=end)),prev=cur}return last!==null&&result.push({start:start%count,end:last%count,loop}),result}function _computeSegments(line,segmentOptions){let points=line.points,spanGaps=line.options.spanGaps,count=points.length;if(!count)return[];let loop=!!line._loop,{start,end}=findStartAndEnd(points,count,loop,spanGaps);if(spanGaps===!0)return splitByStyles(line,[{start,end,loop}],points,segmentOptions);let max=endfn({chart:chart2,initial:anims.initial,numSteps,currentStep:Math.min(date-anims.start,numSteps)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(date=Date.now()){let remaining=0;this._charts.forEach((anims,chart2)=>{if(!anims.running||!anims.items.length)return;let items=anims.items,i=items.length-1,draw2=!1,item;for(;i>=0;--i)item=items[i],item._active?(item._total>anims.duration&&(anims.duration=item._total),item.tick(date),draw2=!0):(items[i]=items[items.length-1],items.pop());draw2&&(chart2.draw(),this._notify(chart2,anims,date,"progress")),items.length||(anims.running=!1,this._notify(chart2,anims,date,"complete"),anims.initial=!1),remaining+=items.length}),this._lastDate=date,remaining===0&&(this._running=!1)}_getAnims(chart2){let charts=this._charts,anims=charts.get(chart2);return anims||(anims={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},charts.set(chart2,anims)),anims}listen(chart2,event,cb){this._getAnims(chart2).listeners[event].push(cb)}add(chart2,items){!items||!items.length||this._getAnims(chart2).items.push(...items)}has(chart2){return this._getAnims(chart2).items.length>0}start(chart2){let anims=this._charts.get(chart2);!anims||(anims.running=!0,anims.start=Date.now(),anims.duration=anims.items.reduce((acc,cur)=>Math.max(acc,cur._duration),0),this._refresh())}running(chart2){if(!this._running)return!1;let anims=this._charts.get(chart2);return!(!anims||!anims.running||!anims.items.length)}stop(chart2){let anims=this._charts.get(chart2);if(!anims||!anims.items.length)return;let items=anims.items,i=items.length-1;for(;i>=0;--i)items[i].cancel();anims.items=[],this._notify(chart2,anims,Date.now(),"complete")}remove(chart2){return this._charts.delete(chart2)}},animator=new Animator,transparent="transparent",interpolators={boolean(from2,to2,factor){return factor>.5?to2:from2},color(from2,to2,factor){let c0=color(from2||transparent),c1=c0.valid&&color(to2||transparent);return c1&&c1.valid?c1.mix(c0,factor).hexString():to2},number(from2,to2,factor){return from2+(to2-from2)*factor}},Animation=class{constructor(cfg,target,prop,to2){let currentValue=target[prop];to2=resolve([cfg.to,to2,currentValue,cfg.from]);let from2=resolve([cfg.from,currentValue,to2]);this._active=!0,this._fn=cfg.fn||interpolators[cfg.type||typeof from2],this._easing=effects[cfg.easing]||effects.linear,this._start=Math.floor(Date.now()+(cfg.delay||0)),this._duration=this._total=Math.floor(cfg.duration),this._loop=!!cfg.loop,this._target=target,this._prop=prop,this._from=from2,this._to=to2,this._promises=void 0}active(){return this._active}update(cfg,to2,date){if(this._active){this._notify(!1);let currentValue=this._target[this._prop],elapsed=date-this._start,remain=this._duration-elapsed;this._start=date,this._duration=Math.floor(Math.max(remain,cfg.duration)),this._total+=elapsed,this._loop=!!cfg.loop,this._to=resolve([cfg.to,to2,currentValue,cfg.from]),this._from=resolve([cfg.from,currentValue,to2])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(date){let elapsed=date-this._start,duration=this._duration,prop=this._prop,from2=this._from,loop=this._loop,to2=this._to,factor;if(this._active=from2!==to2&&(loop||elapsed1?2-factor:factor,factor=this._easing(Math.min(1,Math.max(0,factor))),this._target[prop]=this._fn(from2,to2,factor)}wait(){let promises=this._promises||(this._promises=[]);return new Promise((res,rej)=>{promises.push({res,rej})})}_notify(resolved){let method=resolved?"res":"rej",promises=this._promises||[];for(let i=0;iname!=="onProgress"&&name!=="onComplete"&&name!=="fn"});defaults.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}});defaults.describe("animations",{_fallback:"animation"});defaults.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:v=>v|0}}}});var Animations=class{constructor(chart2,config){this._chart=chart2,this._properties=new Map,this.configure(config)}configure(config){if(!isObject(config))return;let animatedProps=this._properties;Object.getOwnPropertyNames(config).forEach(key=>{let cfg=config[key];if(!isObject(cfg))return;let resolved={};for(let option of animationOptions)resolved[option]=cfg[option];(isArray(cfg.properties)&&cfg.properties||[key]).forEach(prop=>{(prop===key||!animatedProps.has(prop))&&animatedProps.set(prop,resolved)})})}_animateOptions(target,values){let newOptions=values.options,options=resolveTargetOptions(target,newOptions);if(!options)return[];let animations=this._createAnimations(options,newOptions);return newOptions.$shared&&awaitAll(target.options.$animations,newOptions).then(()=>{target.options=newOptions},()=>{}),animations}_createAnimations(target,values){let animatedProps=this._properties,animations=[],running=target.$animations||(target.$animations={}),props=Object.keys(values),date=Date.now(),i;for(i=props.length-1;i>=0;--i){let prop=props[i];if(prop.charAt(0)==="$")continue;if(prop==="options"){animations.push(...this._animateOptions(target,values));continue}let value=values[prop],animation=running[prop],cfg=animatedProps.get(prop);if(animation)if(cfg&&animation.active()){animation.update(cfg,value,date);continue}else animation.cancel();if(!cfg||!cfg.duration){target[prop]=value;continue}running[prop]=animation=new Animation(cfg,target,prop,value),animations.push(animation)}return animations}update(target,values){if(this._properties.size===0){Object.assign(target,values);return}let animations=this._createAnimations(target,values);if(animations.length)return animator.add(this._chart,animations),!0}};function awaitAll(animations,properties){let running=[],keys=Object.keys(properties);for(let i=0;i0||!positive&&value<0)return meta.index}return null}function updateStacks(controller,parsed){let{chart:chart2,_cachedMeta:meta}=controller,stacks=chart2._stacks||(chart2._stacks={}),{iScale,vScale,index:datasetIndex}=meta,iAxis=iScale.axis,vAxis=vScale.axis,key=getStackKey(iScale,vScale,meta),ilen=parsed.length,stack;for(let i=0;iscales2[key].axis===axis).shift()}function createDatasetContext(parent,index2){return createContext(parent,{active:!1,dataset:void 0,datasetIndex:index2,index:index2,mode:"default",type:"dataset"})}function createDataContext(parent,index2,element){return createContext(parent,{active:!1,dataIndex:index2,parsed:void 0,raw:void 0,element,index:index2,mode:"default",type:"data"})}function clearStacks(meta,items){let datasetIndex=meta.controller.index,axis=meta.vScale&&meta.vScale.axis;if(!!axis){items=items||meta._parsed;for(let parsed of items){let stacks=parsed._stacks;if(!stacks||stacks[axis]===void 0||stacks[axis][datasetIndex]===void 0)return;delete stacks[axis][datasetIndex]}}}var isDirectUpdateMode=mode=>mode==="reset"||mode==="none",cloneIfNotShared=(cached,shared)=>shared?cached:Object.assign({},cached),createStack=(canStack,meta,chart2)=>canStack&&!meta.hidden&&meta._stacked&&{keys:getSortedDatasetIndices(chart2,!0),values:null},DatasetController=class{constructor(chart2,datasetIndex){this.chart=chart2,this._ctx=chart2.ctx,this.index=datasetIndex,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){let meta=this._cachedMeta;this.configure(),this.linkScales(),meta._stacked=isStacked(meta.vScale,meta),this.addElements()}updateIndex(datasetIndex){this.index!==datasetIndex&&clearStacks(this._cachedMeta),this.index=datasetIndex}linkScales(){let chart2=this.chart,meta=this._cachedMeta,dataset=this.getDataset(),chooseId=(axis,x,y,r)=>axis==="x"?x:axis==="r"?r:y,xid=meta.xAxisID=valueOrDefault(dataset.xAxisID,getFirstScaleId(chart2,"x")),yid=meta.yAxisID=valueOrDefault(dataset.yAxisID,getFirstScaleId(chart2,"y")),rid=meta.rAxisID=valueOrDefault(dataset.rAxisID,getFirstScaleId(chart2,"r")),indexAxis=meta.indexAxis,iid=meta.iAxisID=chooseId(indexAxis,xid,yid,rid),vid=meta.vAxisID=chooseId(indexAxis,yid,xid,rid);meta.xScale=this.getScaleForId(xid),meta.yScale=this.getScaleForId(yid),meta.rScale=this.getScaleForId(rid),meta.iScale=this.getScaleForId(iid),meta.vScale=this.getScaleForId(vid)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(scaleID){return this.chart.scales[scaleID]}_getOtherScale(scale){let meta=this._cachedMeta;return scale===meta.iScale?meta.vScale:meta.iScale}reset(){this._update("reset")}_destroy(){let meta=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),meta._stacked&&clearStacks(meta)}_dataCheck(){let dataset=this.getDataset(),data=dataset.data||(dataset.data=[]),_data=this._data;if(isObject(data))this._data=convertObjectDataToArray(data);else if(_data!==data){if(_data){unlistenArrayEvents(_data,this);let meta=this._cachedMeta;clearStacks(meta),meta._parsed=[]}data&&Object.isExtensible(data)&&listenArrayEvents(data,this),this._syncList=[],this._data=data}}addElements(){let meta=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(meta.dataset=new this.datasetElementType)}buildOrUpdateElements(resetNewElements){let meta=this._cachedMeta,dataset=this.getDataset(),stackChanged=!1;this._dataCheck();let oldStacked=meta._stacked;meta._stacked=isStacked(meta.vScale,meta),meta.stack!==dataset.stack&&(stackChanged=!0,clearStacks(meta),meta.stack=dataset.stack),this._resyncElements(resetNewElements),(stackChanged||oldStacked!==meta._stacked)&&updateStacks(this,meta._parsed)}configure(){let config=this.chart.config,scopeKeys=config.datasetScopeKeys(this._type),scopes=config.getOptionScopes(this.getDataset(),scopeKeys,!0);this.options=config.createResolver(scopes,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(start,count){let{_cachedMeta:meta,_data:data}=this,{iScale,_stacked}=meta,iAxis=iScale.axis,sorted=start===0&&count===data.length?!0:meta._sorted,prev=start>0&&meta._parsed[start-1],i,cur,parsed;if(this._parsing===!1)meta._parsed=data,meta._sorted=!0,parsed=data;else{isArray(data[start])?parsed=this.parseArrayData(meta,data,start,count):isObject(data[start])?parsed=this.parseObjectData(meta,data,start,count):parsed=this.parsePrimitiveData(meta,data,start,count);let isNotInOrderComparedToPrev=()=>cur[iAxis]===null||prev&&cur[iAxis]otherValue||otherMax=0;--i)if(!_skip()){this.updateRangeFromParsed(range,scale,parsed,stack);break}}return range}getAllParsedValues(scale){let parsed=this._cachedMeta._parsed,values=[],i,ilen,value;for(i=0,ilen=parsed.length;i=0&&index2this.getContext(index2,active),values=config.resolveNamedOptions(scopes,names2,context,prefixes);return values.$shared&&(values.$shared=sharing,cache[cacheKey]=Object.freeze(cloneIfNotShared(values,sharing))),values}_resolveAnimations(index2,transition,active){let chart2=this.chart,cache=this._cachedDataOpts,cacheKey=`animation-${transition}`,cached=cache[cacheKey];if(cached)return cached;let options;if(chart2.options.animation!==!1){let config=this.chart.config,scopeKeys=config.datasetAnimationScopeKeys(this._type,transition),scopes=config.getOptionScopes(this.getDataset(),scopeKeys);options=config.createResolver(scopes,this.getContext(index2,active,transition))}let animations=new Animations(chart2,options&&options.animations);return options&&options._cacheable&&(cache[cacheKey]=Object.freeze(animations)),animations}getSharedOptions(options){if(!!options.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},options))}includeOptions(mode,sharedOptions){return!sharedOptions||isDirectUpdateMode(mode)||this.chart._animationsDisabled}_getSharedOptions(start,mode){let firstOpts=this.resolveDataElementOptions(start,mode),previouslySharedOptions=this._sharedOptions,sharedOptions=this.getSharedOptions(firstOpts),includeOptions=this.includeOptions(mode,sharedOptions)||sharedOptions!==previouslySharedOptions;return this.updateSharedOptions(sharedOptions,mode,firstOpts),{sharedOptions,includeOptions}}updateElement(element,index2,properties,mode){isDirectUpdateMode(mode)?Object.assign(element,properties):this._resolveAnimations(index2,mode).update(element,properties)}updateSharedOptions(sharedOptions,mode,newOptions){sharedOptions&&!isDirectUpdateMode(mode)&&this._resolveAnimations(void 0,mode).update(sharedOptions,newOptions)}_setStyle(element,index2,mode,active){element.active=active;let options=this.getStyle(index2,active);this._resolveAnimations(index2,mode,active).update(element,{options:!active&&this.getSharedOptions(options)||options})}removeHoverStyle(element,datasetIndex,index2){this._setStyle(element,index2,"active",!1)}setHoverStyle(element,datasetIndex,index2){this._setStyle(element,index2,"active",!0)}_removeDatasetHoverStyle(){let element=this._cachedMeta.dataset;element&&this._setStyle(element,void 0,"active",!1)}_setDatasetHoverStyle(){let element=this._cachedMeta.dataset;element&&this._setStyle(element,void 0,"active",!0)}_resyncElements(resetNewElements){let data=this._data,elements2=this._cachedMeta.data;for(let[method,arg1,arg2]of this._syncList)this[method](arg1,arg2);this._syncList=[];let numMeta=elements2.length,numData=data.length,count=Math.min(numData,numMeta);count&&this.parse(0,count),numData>numMeta?this._insertElements(numMeta,numData-numMeta,resetNewElements):numData{for(arr.length+=count,i=arr.length-1;i>=end;i--)arr[i]=arr[i-count]};for(move(data),i=start;ia-b))}return scale._cache.$bar}function computeMinSampleSize(meta){let scale=meta.iScale,values=getAllScaleValues(scale,meta.type),min=scale._length,i,ilen,curr,prev,updateMinAndPrev=()=>{curr===32767||curr===-32768||(defined(prev)&&(min=Math.min(min,Math.abs(curr-prev)||min)),prev=curr)};for(i=0,ilen=values.length;i0?pixels[index2-1]:null,next=index2Math.abs(max)&&(barStart=max,barEnd=min),item[vScale.axis]=barEnd,item._custom={barStart,barEnd,start:startValue,end:endValue,min,max}}function parseValue(entry,item,vScale,i){return isArray(entry)?parseFloatBar(entry,item,vScale,i):item[vScale.axis]=vScale.parse(entry,i),item}function parseArrayOrPrimitive(meta,data,start,count){let iScale=meta.iScale,vScale=meta.vScale,labels=iScale.getLabels(),singleScale=iScale===vScale,parsed=[],i,ilen,item,entry;for(i=start,ilen=start+count;i=actualBase?1:-1)}function borderProps(properties){let reverse,start,end,top,bottom;return properties.horizontal?(reverse=properties.base>properties.x,start="left",end="right"):(reverse=properties.basemeta.controller.options.grouped),stacked=iScale.options.stacked,stacks=[],skipNull=meta=>{let parsed=meta.controller.getParsed(dataIndex),val=parsed&&parsed[meta.vScale.axis];if(isNullOrUndef(val)||isNaN(val))return!0};for(let meta of metasets)if(!(dataIndex!==void 0&&skipNull(meta))&&((stacked===!1||stacks.indexOf(meta.stack)===-1||stacked===void 0&&meta.stack===void 0)&&stacks.push(meta.stack),meta.index===last))break;return stacks.length||stacks.push(void 0),stacks}_getStackCount(index2){return this._getStacks(void 0,index2).length}_getStackIndex(datasetIndex,name,dataIndex){let stacks=this._getStacks(datasetIndex,dataIndex),index2=name!==void 0?stacks.indexOf(name):-1;return index2===-1?stacks.length-1:index2}_getRuler(){let opts=this.options,meta=this._cachedMeta,iScale=meta.iScale,pixels=[],i,ilen;for(i=0,ilen=meta.data.length;i=0;--i)max=Math.max(max,data[i].size(this.resolveDataElementOptions(i))/2);return max>0&&max}getLabelAndValue(index2){let meta=this._cachedMeta,{xScale,yScale}=meta,parsed=this.getParsed(index2),x=xScale.getLabelForValue(parsed.x),y=yScale.getLabelForValue(parsed.y),r=parsed._custom;return{label:meta.label,value:"("+x+", "+y+(r?", "+r:"")+")"}}update(mode){let points=this._cachedMeta.data;this.updateElements(points,0,points.length,mode)}updateElements(points,start,count,mode){let reset=mode==="reset",{iScale,vScale}=this._cachedMeta,{sharedOptions,includeOptions}=this._getSharedOptions(start,mode),iAxis=iScale.axis,vAxis=vScale.axis;for(let i=start;i_angleBetween(angle,startAngle,endAngle,!0)?1:Math.max(a,a*cutout,b,b*cutout),calcMin=(angle,a,b)=>_angleBetween(angle,startAngle,endAngle,!0)?-1:Math.min(a,a*cutout,b,b*cutout),maxX=calcMax(0,startX,endX),maxY=calcMax(HALF_PI,startY,endY),minX=calcMin(PI,startX,endX),minY=calcMin(PI+HALF_PI,startY,endY);ratioX=(maxX-minX)/2,ratioY=(maxY-minY)/2,offsetX=-(maxX+minX)/2,offsetY=-(maxY+minY)/2}return{ratioX,ratioY,offsetX,offsetY}}var DoughnutController=class extends DatasetController{constructor(chart2,datasetIndex){super(chart2,datasetIndex);this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(start,count){let data=this.getDataset().data,meta=this._cachedMeta;if(this._parsing===!1)meta._parsed=data;else{let getter=i2=>+data[i2];if(isObject(data[start])){let{key="value"}=this._parsing;getter=i2=>+resolveObjectKey(data[i2],key)}let i,ilen;for(i=start,ilen=start+count;i0&&!isNaN(value)?TAU*(Math.abs(value)/total):0}getLabelAndValue(index2){let meta=this._cachedMeta,chart2=this.chart,labels=chart2.data.labels||[],value=formatNumber(meta._parsed[index2],chart2.options.locale);return{label:labels[index2]||"",value}}getMaxBorderWidth(arcs){let max=0,chart2=this.chart,i,ilen,meta,controller,options;if(!arcs){for(i=0,ilen=chart2.data.datasets.length;iname!=="spacing",_indexable:name=>name!=="spacing"};DoughnutController.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(chart2){let data=chart2.data;if(data.labels.length&&data.datasets.length){let{labels:{pointStyle}}=chart2.legend.options;return data.labels.map((label,i)=>{let style=chart2.getDatasetMeta(0).controller.getStyle(i);return{text:label,fillStyle:style.backgroundColor,strokeStyle:style.borderColor,lineWidth:style.borderWidth,pointStyle,hidden:!chart2.getDataVisibility(i),index:i}})}return[]}},onClick(e,legendItem,legend){legend.chart.toggleDataVisibility(legendItem.index),legend.chart.update()}},tooltip:{callbacks:{title(){return""},label(tooltipItem){let dataLabel=tooltipItem.label,value=": "+tooltipItem.formattedValue;return isArray(dataLabel)?(dataLabel=dataLabel.slice(),dataLabel[0]+=value):dataLabel+=value,dataLabel}}}}};var LineController=class extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(mode){let meta=this._cachedMeta,{dataset:line,data:points=[],_dataset}=meta,animationsDisabled=this.chart._animationsDisabled,{start,count}=_getStartAndCountOfVisiblePoints(meta,points,animationsDisabled);this._drawStart=start,this._drawCount=count,_scaleRangesChanged(meta)&&(start=0,count=points.length),line._chart=this.chart,line._datasetIndex=this.index,line._decimated=!!_dataset._decimated,line.points=points;let options=this.resolveDatasetElementOptions(mode);this.options.showLine||(options.borderWidth=0),options.segment=this.options.segment,this.updateElement(line,void 0,{animated:!animationsDisabled,options},mode),this.updateElements(points,start,count,mode)}updateElements(points,start,count,mode){let reset=mode==="reset",{iScale,vScale,_stacked,_dataset}=this._cachedMeta,{sharedOptions,includeOptions}=this._getSharedOptions(start,mode),iAxis=iScale.axis,vAxis=vScale.axis,{spanGaps,segment}=this.options,maxGapLength=isNumber(spanGaps)?spanGaps:Number.POSITIVE_INFINITY,directUpdate=this.chart._animationsDisabled||reset||mode==="none",prevParsed=start>0&&this.getParsed(start-1);for(let i=start;i0&&Math.abs(parsed[iAxis]-prevParsed[iAxis])>maxGapLength,segment&&(properties.parsed=parsed,properties.raw=_dataset.data[i]),includeOptions&&(properties.options=sharedOptions||this.resolveDataElementOptions(i,point.active?"active":mode)),directUpdate||this.updateElement(point,i,properties,mode),prevParsed=parsed}}getMaxOverflow(){let meta=this._cachedMeta,dataset=meta.dataset,border=dataset.options&&dataset.options.borderWidth||0,data=meta.data||[];if(!data.length)return border;let firstPoint=data[0].size(this.resolveDataElementOptions(0)),lastPoint=data[data.length-1].size(this.resolveDataElementOptions(data.length-1));return Math.max(border,firstPoint,lastPoint)/2}draw(){let meta=this._cachedMeta;meta.dataset.updateControlPoints(this.chart.chartArea,meta.iScale.axis),super.draw()}};LineController.id="line";LineController.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};LineController.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};var PolarAreaController=class extends DatasetController{constructor(chart2,datasetIndex){super(chart2,datasetIndex);this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(index2){let meta=this._cachedMeta,chart2=this.chart,labels=chart2.data.labels||[],value=formatNumber(meta._parsed[index2].r,chart2.options.locale);return{label:labels[index2]||"",value}}parseObjectData(meta,data,start,count){return _parseObjectDataRadialScale.bind(this)(meta,data,start,count)}update(mode){let arcs=this._cachedMeta.data;this._updateRadius(),this.updateElements(arcs,0,arcs.length,mode)}getMinMax(){let meta=this._cachedMeta,range={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return meta.data.forEach((element,index2)=>{let parsed=this.getParsed(index2).r;!isNaN(parsed)&&this.chart.getDataVisibility(index2)&&(parsedrange.max&&(range.max=parsed))}),range}_updateRadius(){let chart2=this.chart,chartArea=chart2.chartArea,opts=chart2.options,minSize=Math.min(chartArea.right-chartArea.left,chartArea.bottom-chartArea.top),outerRadius=Math.max(minSize/2,0),innerRadius=Math.max(opts.cutoutPercentage?outerRadius/100*opts.cutoutPercentage:1,0),radiusLength=(outerRadius-innerRadius)/chart2.getVisibleDatasetCount();this.outerRadius=outerRadius-radiusLength*this.index,this.innerRadius=this.outerRadius-radiusLength}updateElements(arcs,start,count,mode){let reset=mode==="reset",chart2=this.chart,animationOpts=chart2.options.animation,scale=this._cachedMeta.rScale,centerX=scale.xCenter,centerY=scale.yCenter,datasetStartAngle=scale.getIndexAngle(0)-.5*PI,angle=datasetStartAngle,i,defaultAngle=360/this.countVisibleElements();for(i=0;i{!isNaN(this.getParsed(index2).r)&&this.chart.getDataVisibility(index2)&&count++}),count}_computeAngle(index2,mode,defaultAngle){return this.chart.getDataVisibility(index2)?toRadians(this.resolveDataElementOptions(index2,mode).angle||defaultAngle):0}};PolarAreaController.id="polarArea";PolarAreaController.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};PolarAreaController.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(chart2){let data=chart2.data;if(data.labels.length&&data.datasets.length){let{labels:{pointStyle}}=chart2.legend.options;return data.labels.map((label,i)=>{let style=chart2.getDatasetMeta(0).controller.getStyle(i);return{text:label,fillStyle:style.backgroundColor,strokeStyle:style.borderColor,lineWidth:style.borderWidth,pointStyle,hidden:!chart2.getDataVisibility(i),index:i}})}return[]}},onClick(e,legendItem,legend){legend.chart.toggleDataVisibility(legendItem.index),legend.chart.update()}},tooltip:{callbacks:{title(){return""},label(context){return context.chart.data.labels[context.dataIndex]+": "+context.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};var PieController=class extends DoughnutController{};PieController.id="pie";PieController.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};var RadarController=class extends DatasetController{getLabelAndValue(index2){let vScale=this._cachedMeta.vScale,parsed=this.getParsed(index2);return{label:vScale.getLabels()[index2],value:""+vScale.getLabelForValue(parsed[vScale.axis])}}parseObjectData(meta,data,start,count){return _parseObjectDataRadialScale.bind(this)(meta,data,start,count)}update(mode){let meta=this._cachedMeta,line=meta.dataset,points=meta.data||[],labels=meta.iScale.getLabels();if(line.points=points,mode!=="resize"){let options=this.resolveDatasetElementOptions(mode);this.options.showLine||(options.borderWidth=0);let properties={_loop:!0,_fullLoop:labels.length===points.length,options};this.updateElement(line,void 0,properties,mode)}this.updateElements(points,0,points.length,mode)}updateElements(points,start,count,mode){let scale=this._cachedMeta.rScale,reset=mode==="reset";for(let i=start;i{ret[prop]=anims[prop]&&anims[prop].active()?anims[prop]._to:this[prop]}),ret}};Element.defaults={};Element.defaultRoutes=void 0;var formatters={values(value){return isArray(value)?value:""+value},numeric(tickValue,index2,ticks){if(tickValue===0)return"0";let locale=this.chart.options.locale,notation,delta=tickValue;if(ticks.length>1){let maxTick=Math.max(Math.abs(ticks[0].value),Math.abs(ticks[ticks.length-1].value));(maxTick<1e-4||maxTick>1e15)&&(notation="scientific"),delta=calculateDelta(tickValue,ticks)}let logDelta=log10(Math.abs(delta)),numDecimal=Math.max(Math.min(-1*Math.floor(logDelta),20),0),options={notation,minimumFractionDigits:numDecimal,maximumFractionDigits:numDecimal};return Object.assign(options,this.options.ticks.format),formatNumber(tickValue,locale,options)},logarithmic(tickValue,index2,ticks){if(tickValue===0)return"0";let remain=tickValue/Math.pow(10,Math.floor(log10(tickValue)));return remain===1||remain===2||remain===5?formatters.numeric.call(this,tickValue,index2,ticks):""}};function calculateDelta(tickValue,ticks){let delta=ticks.length>3?ticks[2].value-ticks[1].value:ticks[1].value-ticks[0].value;return Math.abs(delta)>=1&&tickValue!==Math.floor(tickValue)&&(delta=tickValue-Math.floor(tickValue)),delta}var Ticks={formatters};defaults.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(_ctx,options)=>options.lineWidth,tickColor:(_ctx,options)=>options.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}});defaults.route("scale.ticks","color","","color");defaults.route("scale.grid","color","","borderColor");defaults.route("scale.grid","borderColor","","borderColor");defaults.route("scale.title","color","","color");defaults.describe("scale",{_fallback:!1,_scriptable:name=>!name.startsWith("before")&&!name.startsWith("after")&&name!=="callback"&&name!=="parser",_indexable:name=>name!=="borderDash"&&name!=="tickBorderDash"});defaults.describe("scales",{_fallback:"scale"});defaults.describe("scale.ticks",{_scriptable:name=>name!=="backdropPadding"&&name!=="callback",_indexable:name=>name!=="backdropPadding"});function autoSkip(scale,ticks){let tickOpts=scale.options.ticks,ticksLimit=tickOpts.maxTicksLimit||determineMaxTicks(scale),majorIndices=tickOpts.major.enabled?getMajorIndices(ticks):[],numMajorIndices=majorIndices.length,first=majorIndices[0],last=majorIndices[numMajorIndices-1],newTicks=[];if(numMajorIndices>ticksLimit)return skipMajors(ticks,newTicks,majorIndices,numMajorIndices/ticksLimit),newTicks;let spacing=calculateSpacing(majorIndices,ticks,ticksLimit);if(numMajorIndices>0){let i,ilen,avgMajorSpacing=numMajorIndices>1?Math.round((last-first)/(numMajorIndices-1)):null;for(skip(ticks,newTicks,spacing,isNullOrUndef(avgMajorSpacing)?0:first-avgMajorSpacing,first),i=0,ilen=numMajorIndices-1;ispacing)return factor}return Math.max(spacing,1)}function getMajorIndices(ticks){let result=[],i,ilen;for(i=0,ilen=ticks.length;ialign==="left"?"right":align==="right"?"left":align,offsetFromEdge=(scale,edge,offset)=>edge==="top"||edge==="left"?scale[edge]+offset:scale[edge]-offset;function sample(arr,numItems){let result=[],increment=arr.length/numItems,len=arr.length,i=0;for(;iend+epsilon)))return lineValue}function garbageCollect(caches,length){each(caches,cache=>{let gc=cache.gc,gcLen=gc.length/2,i;if(gcLen>length){for(i=0;imax?max:min,max=minDefined&&min>max?min:max,{min:finiteOrDefault(min,finiteOrDefault(max,min)),max:finiteOrDefault(max,finiteOrDefault(min,max))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let data=this.chart.data;return this.options.labels||(this.isHorizontal()?data.xLabels:data.yLabels)||data.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(maxWidth,maxHeight,margins){let{beginAtZero,grace,ticks:tickOpts}=this.options,sampleSize=tickOpts.sampleSize;this.beforeUpdate(),this.maxWidth=maxWidth,this.maxHeight=maxHeight,this._margins=margins=Object.assign({left:0,right:0,top:0,bottom:0},margins),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+margins.left+margins.right:this.height+margins.top+margins.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,grace,beginAtZero),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let samplingEnabled=sampleSize=maxRotation||numTicks<=1||!this.isHorizontal()){this.labelRotation=minRotation;return}let labelSizes=this._getLabelSizes(),maxLabelWidth=labelSizes.widest.width,maxLabelHeight=labelSizes.highest.height,maxWidth=_limitValue(this.chart.width-maxLabelWidth,0,this.maxWidth);tickWidth=options.offset?this.maxWidth/numTicks:maxWidth/(numTicks-1),maxLabelWidth+6>tickWidth&&(tickWidth=maxWidth/(numTicks-(options.offset?.5:1)),maxHeight=this.maxHeight-getTickMarkLength(options.grid)-tickOpts.padding-getTitleHeight(options.title,this.chart.options.font),maxLabelDiagonal=Math.sqrt(maxLabelWidth*maxLabelWidth+maxLabelHeight*maxLabelHeight),labelRotation=toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height+6)/tickWidth,-1,1)),Math.asin(_limitValue(maxHeight/maxLabelDiagonal,-1,1))-Math.asin(_limitValue(maxLabelHeight/maxLabelDiagonal,-1,1)))),labelRotation=Math.max(minRotation,Math.min(maxRotation,labelRotation))),this.labelRotation=labelRotation}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){let minSize={width:0,height:0},{chart:chart2,options:{ticks:tickOpts,title:titleOpts,grid:gridOpts}}=this,display=this._isVisible(),isHorizontal=this.isHorizontal();if(display){let titleHeight=getTitleHeight(titleOpts,chart2.options.font);if(isHorizontal?(minSize.width=this.maxWidth,minSize.height=getTickMarkLength(gridOpts)+titleHeight):(minSize.height=this.maxHeight,minSize.width=getTickMarkLength(gridOpts)+titleHeight),tickOpts.display&&this.ticks.length){let{first,last,widest,highest}=this._getLabelSizes(),tickPadding=tickOpts.padding*2,angleRadians=toRadians(this.labelRotation),cos=Math.cos(angleRadians),sin=Math.sin(angleRadians);if(isHorizontal){let labelHeight=tickOpts.mirror?0:sin*widest.width+cos*highest.height;minSize.height=Math.min(this.maxHeight,minSize.height+labelHeight+tickPadding)}else{let labelWidth=tickOpts.mirror?0:cos*widest.width+sin*highest.height;minSize.width=Math.min(this.maxWidth,minSize.width+labelWidth+tickPadding)}this._calculatePadding(first,last,sin,cos)}}this._handleMargins(),isHorizontal?(this.width=this._length=chart2.width-this._margins.left-this._margins.right,this.height=minSize.height):(this.width=minSize.width,this.height=this._length=chart2.height-this._margins.top-this._margins.bottom)}_calculatePadding(first,last,sin,cos){let{ticks:{align,padding},position}=this.options,isRotated=this.labelRotation!==0,labelsBelowTicks=position!=="top"&&this.axis==="x";if(this.isHorizontal()){let offsetLeft=this.getPixelForTick(0)-this.left,offsetRight=this.right-this.getPixelForTick(this.ticks.length-1),paddingLeft=0,paddingRight=0;isRotated?labelsBelowTicks?(paddingLeft=cos*first.width,paddingRight=sin*last.height):(paddingLeft=sin*first.height,paddingRight=cos*last.width):align==="start"?paddingRight=last.width:align==="end"?paddingLeft=first.width:align!=="inner"&&(paddingLeft=first.width/2,paddingRight=last.width/2),this.paddingLeft=Math.max((paddingLeft-offsetLeft+padding)*this.width/(this.width-offsetLeft),0),this.paddingRight=Math.max((paddingRight-offsetRight+padding)*this.width/(this.width-offsetRight),0)}else{let paddingTop=last.height/2,paddingBottom=first.height/2;align==="start"?(paddingTop=0,paddingBottom=first.height):align==="end"&&(paddingTop=last.height,paddingBottom=0),this.paddingTop=paddingTop+padding,this.paddingBottom=paddingBottom+padding}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){let{axis,position}=this.options;return position==="top"||position==="bottom"||axis==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(ticks){this.beforeTickToLabelConversion(),this.generateTickLabels(ticks);let i,ilen;for(i=0,ilen=ticks.length;i({width:widths[idx]||0,height:heights[idx]||0});return{first:valueAt(0),last:valueAt(length-1),widest:valueAt(widest),highest:valueAt(highest),widths,heights}}getLabelForValue(value){return value}getPixelForValue(value,index2){return NaN}getValueForPixel(pixel){}getPixelForTick(index2){let ticks=this.ticks;return index2<0||index2>ticks.length-1?null:this.getPixelForValue(ticks[index2].value)}getPixelForDecimal(decimal){this._reversePixels&&(decimal=1-decimal);let pixel=this._startPixel+decimal*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,pixel,0):pixel)}getDecimalForPixel(pixel){let decimal=(pixel-this._startPixel)/this._length;return this._reversePixels?1-decimal:decimal}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min,max}=this;return min<0&&max<0?max:min>0&&max>0?min:0}getContext(index2){let ticks=this.ticks||[];if(index2>=0&&index2w*sin?w/cos:h/sin:h*sin0}_computeGridLineItems(chartArea){let axis=this.axis,chart2=this.chart,options=this.options,{grid,position}=options,offset=grid.offset,isHorizontal=this.isHorizontal(),ticksLength=this.ticks.length+(offset?1:0),tl=getTickMarkLength(grid),items=[],borderOpts=grid.setContext(this.getContext()),axisWidth=borderOpts.drawBorder?borderOpts.borderWidth:0,axisHalfWidth=axisWidth/2,alignBorderValue=function(pixel){return _alignPixel(chart2,pixel,axisWidth)},borderValue,i,lineValue,alignedLineValue,tx1,ty1,tx2,ty2,x1,y1,x2,y2;if(position==="top")borderValue=alignBorderValue(this.bottom),ty1=this.bottom-tl,ty2=borderValue-axisHalfWidth,y1=alignBorderValue(chartArea.top)+axisHalfWidth,y2=chartArea.bottom;else if(position==="bottom")borderValue=alignBorderValue(this.top),y1=chartArea.top,y2=alignBorderValue(chartArea.bottom)-axisHalfWidth,ty1=borderValue+axisHalfWidth,ty2=this.top+tl;else if(position==="left")borderValue=alignBorderValue(this.right),tx1=this.right-tl,tx2=borderValue-axisHalfWidth,x1=alignBorderValue(chartArea.left)+axisHalfWidth,x2=chartArea.right;else if(position==="right")borderValue=alignBorderValue(this.left),x1=chartArea.left,x2=alignBorderValue(chartArea.right)-axisHalfWidth,tx1=borderValue+axisHalfWidth,tx2=this.left+tl;else if(axis==="x"){if(position==="center")borderValue=alignBorderValue((chartArea.top+chartArea.bottom)/2+.5);else if(isObject(position)){let positionAxisID=Object.keys(position)[0],value=position[positionAxisID];borderValue=alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value))}y1=chartArea.top,y2=chartArea.bottom,ty1=borderValue+axisHalfWidth,ty2=ty1+tl}else if(axis==="y"){if(position==="center")borderValue=alignBorderValue((chartArea.left+chartArea.right)/2);else if(isObject(position)){let positionAxisID=Object.keys(position)[0],value=position[positionAxisID];borderValue=alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value))}tx1=borderValue-axisHalfWidth,tx2=tx1-tl,x1=chartArea.left,x2=chartArea.right}let limit=valueOrDefault(options.ticks.maxTicksLimit,ticksLength),step=Math.max(1,Math.ceil(ticksLength/limit));for(i=0;it.value===value);return index2>=0?grid.setContext(this.getContext(index2)).lineWidth:0}drawGrid(chartArea){let grid=this.options.grid,ctx=this.ctx,items=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(chartArea)),i,ilen,drawLine=(p1,p2,style)=>{!style.width||!style.color||(ctx.save(),ctx.lineWidth=style.width,ctx.strokeStyle=style.color,ctx.setLineDash(style.borderDash||[]),ctx.lineDashOffset=style.borderDashOffset,ctx.beginPath(),ctx.moveTo(p1.x,p1.y),ctx.lineTo(p2.x,p2.y),ctx.stroke(),ctx.restore())};if(grid.display)for(i=0,ilen=items.length;i{this.draw(chartArea)}}]:[{z:gz,draw:chartArea=>{this.drawBackground(),this.drawGrid(chartArea),this.drawTitle()}},{z:gz+1,draw:()=>{this.drawBorder()}},{z:tz,draw:chartArea=>{this.drawLabels(chartArea)}}]}getMatchingVisibleMetas(type){let metas=this.chart.getSortedVisibleDatasetMetas(),axisID=this.axis+"AxisID",result=[],i,ilen;for(i=0,ilen=metas.length;i{let propertyParts=property.split("."),sourceName=propertyParts.pop(),sourceScope=[scope].concat(propertyParts).join("."),parts=routes[property].split("."),targetName=parts.pop(),targetScope=parts.join(".");defaults.route(sourceScope,sourceName,targetScope,targetName)})}function isIChartComponent(proto){return"id"in proto&&"defaults"in proto}var Registry=class{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...args){this._each("register",args)}remove(...args){this._each("unregister",args)}addControllers(...args){this._each("register",args,this.controllers)}addElements(...args){this._each("register",args,this.elements)}addPlugins(...args){this._each("register",args,this.plugins)}addScales(...args){this._each("register",args,this.scales)}getController(id){return this._get(id,this.controllers,"controller")}getElement(id){return this._get(id,this.elements,"element")}getPlugin(id){return this._get(id,this.plugins,"plugin")}getScale(id){return this._get(id,this.scales,"scale")}removeControllers(...args){this._each("unregister",args,this.controllers)}removeElements(...args){this._each("unregister",args,this.elements)}removePlugins(...args){this._each("unregister",args,this.plugins)}removeScales(...args){this._each("unregister",args,this.scales)}_each(method,args,typedRegistry){[...args].forEach(arg=>{let reg=typedRegistry||this._getRegistryForType(arg);typedRegistry||reg.isForType(arg)||reg===this.plugins&&arg.id?this._exec(method,reg,arg):each(arg,item=>{let itemReg=typedRegistry||this._getRegistryForType(item);this._exec(method,itemReg,item)})})}_exec(method,registry2,component){let camelMethod=_capitalize(method);callback(component["before"+camelMethod],[],component),registry2[method](component),callback(component["after"+camelMethod],[],component)}_getRegistryForType(type){for(let i=0;i0&&this.getParsed(start-1);for(let i=start;i0&&Math.abs(parsed[iAxis]-prevParsed[iAxis])>maxGapLength,segment&&(properties.parsed=parsed,properties.raw=_dataset.data[i]),includeOptions&&(properties.options=sharedOptions||this.resolveDataElementOptions(i,point.active?"active":mode)),directUpdate||this.updateElement(point,i,properties,mode),prevParsed=parsed}this.updateSharedOptions(sharedOptions,mode,firstOpts)}getMaxOverflow(){let meta=this._cachedMeta,data=meta.data||[];if(!this.options.showLine){let max=0;for(let i=data.length-1;i>=0;--i)max=Math.max(max,data[i].size(this.resolveDataElementOptions(i))/2);return max>0&&max}let dataset=meta.dataset,border=dataset.options&&dataset.options.borderWidth||0;if(!data.length)return border;let firstPoint=data[0].size(this.resolveDataElementOptions(0)),lastPoint=data[data.length-1].size(this.resolveDataElementOptions(data.length-1));return Math.max(border,firstPoint,lastPoint)/2}};ScatterController.id="scatter";ScatterController.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};ScatterController.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title(){return""},label(item){return"("+item.label+", "+item.formattedValue+")"}}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PolarAreaController,PieController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var DateAdapter=class{constructor(options){this.options=options||{}}init(chartOptions){}formats(){return abstract()}parse(value,format){return abstract()}format(timestamp,format){return abstract()}add(timestamp,amount,unit){return abstract()}diff(a,b,unit){return abstract()}startOf(timestamp,unit,weekday){return abstract()}endOf(timestamp,unit){return abstract()}};DateAdapter.override=function(members){Object.assign(DateAdapter.prototype,members)};var adapters={_date:DateAdapter};function binarySearch(metaset,axis,value,intersect){let{controller,data,_sorted}=metaset,iScale=controller._cachedMeta.iScale;if(iScale&&axis===iScale.axis&&axis!=="r"&&_sorted&&data.length){let lookupMethod=iScale._reversePixels?_rlookupByKey:_lookupByKey;if(intersect){if(controller._sharedOptions){let el=data[0],range=typeof el.getRange=="function"&&el.getRange(axis);if(range){let start=lookupMethod(data,axis,value-range),end=lookupMethod(data,axis,value+range);return{lo:start.lo,hi:end.hi}}}}else return lookupMethod(data,axis,value)}return{lo:0,hi:data.length-1}}function evaluateInteractionItems(chart2,axis,position,handler,intersect){let metasets=chart2.getSortedVisibleDatasetMetas(),value=position[axis];for(let i=0,ilen=metasets.length;i{element[rangeMethod](position[axis],useFinalPosition)&&(items.push({element,datasetIndex,index:index2}),intersectsItem=intersectsItem||element.inRange(position.x,position.y,useFinalPosition))}),intersect&&!intersectsItem?[]:items}var Interaction={evaluateInteractionItems,modes:{index(chart2,e,options,useFinalPosition){let position=getRelativePosition(e,chart2),axis=options.axis||"x",includeInvisible=options.includeInvisible||!1,items=options.intersect?getIntersectItems(chart2,position,axis,useFinalPosition,includeInvisible):getNearestItems(chart2,position,axis,!1,useFinalPosition,includeInvisible),elements2=[];return items.length?(chart2.getSortedVisibleDatasetMetas().forEach(meta=>{let index2=items[0].index,element=meta.data[index2];element&&!element.skip&&elements2.push({element,datasetIndex:meta.index,index:index2})}),elements2):[]},dataset(chart2,e,options,useFinalPosition){let position=getRelativePosition(e,chart2),axis=options.axis||"xy",includeInvisible=options.includeInvisible||!1,items=options.intersect?getIntersectItems(chart2,position,axis,useFinalPosition,includeInvisible):getNearestItems(chart2,position,axis,!1,useFinalPosition,includeInvisible);if(items.length>0){let datasetIndex=items[0].datasetIndex,data=chart2.getDatasetMeta(datasetIndex).data;items=[];for(let i=0;iv.pos===position)}function filterDynamicPositionByAxis(array,axis){return array.filter(v=>STATIC_POSITIONS.indexOf(v.pos)===-1&&v.box.axis===axis)}function sortByWeight(array,reverse){return array.sort((a,b)=>{let v0=reverse?b:a,v1=reverse?a:b;return v0.weight===v1.weight?v0.index-v1.index:v0.weight-v1.weight})}function wrapBoxes(boxes){let layoutBoxes=[],i,ilen,box,pos,stack,stackWeight;for(i=0,ilen=(boxes||[]).length;iwrap.box.fullSize),!0),left=sortByWeight(filterByPosition(layoutBoxes,"left"),!0),right=sortByWeight(filterByPosition(layoutBoxes,"right")),top=sortByWeight(filterByPosition(layoutBoxes,"top"),!0),bottom=sortByWeight(filterByPosition(layoutBoxes,"bottom")),centerHorizontal=filterDynamicPositionByAxis(layoutBoxes,"x"),centerVertical=filterDynamicPositionByAxis(layoutBoxes,"y");return{fullSize,leftAndTop:left.concat(top),rightAndBottom:right.concat(centerVertical).concat(bottom).concat(centerHorizontal),chartArea:filterByPosition(layoutBoxes,"chartArea"),vertical:left.concat(right).concat(centerVertical),horizontal:top.concat(bottom).concat(centerHorizontal)}}function getCombinedMax(maxPadding,chartArea,a,b){return Math.max(maxPadding[a],chartArea[a])+Math.max(maxPadding[b],chartArea[b])}function updateMaxPadding(maxPadding,boxPadding){maxPadding.top=Math.max(maxPadding.top,boxPadding.top),maxPadding.left=Math.max(maxPadding.left,boxPadding.left),maxPadding.bottom=Math.max(maxPadding.bottom,boxPadding.bottom),maxPadding.right=Math.max(maxPadding.right,boxPadding.right)}function updateDims(chartArea,params,layout,stacks){let{pos,box}=layout,maxPadding=chartArea.maxPadding;if(!isObject(pos)){layout.size&&(chartArea[pos]-=layout.size);let stack=stacks[layout.stack]||{size:0,count:1};stack.size=Math.max(stack.size,layout.horizontal?box.height:box.width),layout.size=stack.size/stack.count,chartArea[pos]+=layout.size}box.getPadding&&updateMaxPadding(maxPadding,box.getPadding());let newWidth=Math.max(0,params.outerWidth-getCombinedMax(maxPadding,chartArea,"left","right")),newHeight=Math.max(0,params.outerHeight-getCombinedMax(maxPadding,chartArea,"top","bottom")),widthChanged=newWidth!==chartArea.w,heightChanged=newHeight!==chartArea.h;return chartArea.w=newWidth,chartArea.h=newHeight,layout.horizontal?{same:widthChanged,other:heightChanged}:{same:heightChanged,other:widthChanged}}function handleMaxPadding(chartArea){let maxPadding=chartArea.maxPadding;function updatePos(pos){let change=Math.max(maxPadding[pos]-chartArea[pos],0);return chartArea[pos]+=change,change}chartArea.y+=updatePos("top"),chartArea.x+=updatePos("left"),updatePos("right"),updatePos("bottom")}function getMargins(horizontal,chartArea){let maxPadding=chartArea.maxPadding;function marginForPositions(positions2){let margin={left:0,top:0,right:0,bottom:0};return positions2.forEach(pos=>{margin[pos]=Math.max(chartArea[pos],maxPadding[pos])}),margin}return marginForPositions(horizontal?["left","right"]:["top","bottom"])}function fitBoxes(boxes,chartArea,params,stacks){let refitBoxes=[],i,ilen,layout,box,refit,changed;for(i=0,ilen=boxes.length,refit=0;i{typeof box.beforeLayout=="function"&&box.beforeLayout()});let visibleVerticalBoxCount=verticalBoxes.reduce((total,wrap)=>wrap.box.options&&wrap.box.options.display===!1?total:total+1,0)||1,params=Object.freeze({outerWidth:width,outerHeight:height,padding,availableWidth,availableHeight,vBoxMaxWidth:availableWidth/2/visibleVerticalBoxCount,hBoxMaxHeight:availableHeight/2}),maxPadding=Object.assign({},padding);updateMaxPadding(maxPadding,toPadding(minPadding));let chartArea=Object.assign({maxPadding,w:availableWidth,h:availableHeight,x:padding.left,y:padding.top},padding),stacks=setLayoutDims(verticalBoxes.concat(horizontalBoxes),params);fitBoxes(boxes.fullSize,chartArea,params,stacks),fitBoxes(verticalBoxes,chartArea,params,stacks),fitBoxes(horizontalBoxes,chartArea,params,stacks)&&fitBoxes(verticalBoxes,chartArea,params,stacks),handleMaxPadding(chartArea),placeBoxes(boxes.leftAndTop,chartArea,params,stacks),chartArea.x+=chartArea.w,chartArea.y+=chartArea.h,placeBoxes(boxes.rightAndBottom,chartArea,params,stacks),chart2.chartArea={left:chartArea.left,top:chartArea.top,right:chartArea.left+chartArea.w,bottom:chartArea.top+chartArea.h,height:chartArea.h,width:chartArea.w},each(boxes.chartArea,layout=>{let box=layout.box;Object.assign(box,chart2.chartArea),box.update(chartArea.w,chartArea.h,{left:0,top:0,right:0,bottom:0})})}},BasePlatform=class{acquireContext(canvas,aspectRatio){}releaseContext(context){return!1}addEventListener(chart2,type,listener){}removeEventListener(chart2,type,listener){}getDevicePixelRatio(){return 1}getMaximumSize(element,width,height,aspectRatio){return width=Math.max(0,width||element.width),height=height||element.height,{width,height:Math.max(0,aspectRatio?Math.floor(width/aspectRatio):height)}}isAttached(canvas){return!0}updateConfig(config){}},BasicPlatform=class extends BasePlatform{acquireContext(item){return item&&item.getContext&&item.getContext("2d")||null}updateConfig(config){config.options.animation=!1}},EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=value=>value===null||value==="";function initCanvas(canvas,aspectRatio){let style=canvas.style,renderHeight=canvas.getAttribute("height"),renderWidth=canvas.getAttribute("width");if(canvas[EXPANDO_KEY]={initial:{height:renderHeight,width:renderWidth,style:{display:style.display,height:style.height,width:style.width}}},style.display=style.display||"block",style.boxSizing=style.boxSizing||"border-box",isNullOrEmpty(renderWidth)){let displayWidth=readUsedSize(canvas,"width");displayWidth!==void 0&&(canvas.width=displayWidth)}if(isNullOrEmpty(renderHeight))if(canvas.style.height==="")canvas.height=canvas.width/(aspectRatio||2);else{let displayHeight=readUsedSize(canvas,"height");displayHeight!==void 0&&(canvas.height=displayHeight)}return canvas}var eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(node,type,listener){node.addEventListener(type,listener,eventListenerOptions)}function removeListener(chart2,type,listener){chart2.canvas.removeEventListener(type,listener,eventListenerOptions)}function fromNativeEvent(event,chart2){let type=EVENT_TYPES[event.type]||event.type,{x,y}=getRelativePosition(event,chart2);return{type,chart:chart2,native:event,x:x!==void 0?x:null,y:y!==void 0?y:null}}function nodeListContains(nodeList,canvas){for(let node of nodeList)if(node===canvas||node.contains(canvas))return!0}function createAttachObserver(chart2,type,listener){let canvas=chart2.canvas,observer=new MutationObserver(entries=>{let trigger=!1;for(let entry of entries)trigger=trigger||nodeListContains(entry.addedNodes,canvas),trigger=trigger&&!nodeListContains(entry.removedNodes,canvas);trigger&&listener()});return observer.observe(document,{childList:!0,subtree:!0}),observer}function createDetachObserver(chart2,type,listener){let canvas=chart2.canvas,observer=new MutationObserver(entries=>{let trigger=!1;for(let entry of entries)trigger=trigger||nodeListContains(entry.removedNodes,canvas),trigger=trigger&&!nodeListContains(entry.addedNodes,canvas);trigger&&listener()});return observer.observe(document,{childList:!0,subtree:!0}),observer}var drpListeningCharts=new Map,oldDevicePixelRatio=0;function onWindowResize(){let dpr=window.devicePixelRatio;dpr!==oldDevicePixelRatio&&(oldDevicePixelRatio=dpr,drpListeningCharts.forEach((resize,chart2)=>{chart2.currentDevicePixelRatio!==dpr&&resize()}))}function listenDevicePixelRatioChanges(chart2,resize){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(chart2,resize)}function unlistenDevicePixelRatioChanges(chart2){drpListeningCharts.delete(chart2),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(chart2,type,listener){let canvas=chart2.canvas,container=canvas&&_getParentNode(canvas);if(!container)return;let resize=throttled((width,height)=>{let w=container.clientWidth;listener(width,height),w{let entry=entries[0],width=entry.contentRect.width,height=entry.contentRect.height;width===0&&height===0||resize(width,height)});return observer.observe(container),listenDevicePixelRatioChanges(chart2,resize),observer}function releaseObserver(chart2,type,observer){observer&&observer.disconnect(),type==="resize"&&unlistenDevicePixelRatioChanges(chart2)}function createProxyAndListen(chart2,type,listener){let canvas=chart2.canvas,proxy=throttled(event=>{chart2.ctx!==null&&listener(fromNativeEvent(event,chart2))},chart2,args=>{let event=args[0];return[event,event.offsetX,event.offsetY]});return addListener(canvas,type,proxy),proxy}var DomPlatform=class extends BasePlatform{acquireContext(canvas,aspectRatio){let context=canvas&&canvas.getContext&&canvas.getContext("2d");return context&&context.canvas===canvas?(initCanvas(canvas,aspectRatio),context):null}releaseContext(context){let canvas=context.canvas;if(!canvas[EXPANDO_KEY])return!1;let initial=canvas[EXPANDO_KEY].initial;["height","width"].forEach(prop=>{let value=initial[prop];isNullOrUndef(value)?canvas.removeAttribute(prop):canvas.setAttribute(prop,value)});let style=initial.style||{};return Object.keys(style).forEach(key=>{canvas.style[key]=style[key]}),canvas.width=canvas.width,delete canvas[EXPANDO_KEY],!0}addEventListener(chart2,type,listener){this.removeEventListener(chart2,type);let proxies=chart2.$proxies||(chart2.$proxies={}),handler={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[type]||createProxyAndListen;proxies[type]=handler(chart2,type,listener)}removeEventListener(chart2,type){let proxies=chart2.$proxies||(chart2.$proxies={}),proxy=proxies[type];if(!proxy)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[type]||removeListener)(chart2,type,proxy),proxies[type]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(canvas,width,height,aspectRatio){return getMaximumSize(canvas,width,height,aspectRatio)}isAttached(canvas){let container=_getParentNode(canvas);return!!(container&&container.isConnected)}};function _detectPlatform(canvas){return!_isDomSupported()||typeof OffscreenCanvas!="undefined"&&canvas instanceof OffscreenCanvas?BasicPlatform:DomPlatform}var PluginService=class{constructor(){this._init=[]}notify(chart2,hook,args,filter){hook==="beforeInit"&&(this._init=this._createDescriptors(chart2,!0),this._notify(this._init,chart2,"install"));let descriptors2=filter?this._descriptors(chart2).filter(filter):this._descriptors(chart2),result=this._notify(descriptors2,chart2,hook,args);return hook==="afterDestroy"&&(this._notify(descriptors2,chart2,"stop"),this._notify(this._init,chart2,"uninstall")),result}_notify(descriptors2,chart2,hook,args){args=args||{};for(let descriptor of descriptors2){let plugin=descriptor.plugin,method=plugin[hook],params=[chart2,args,descriptor.options];if(callback(method,params,plugin)===!1&&args.cancelable)return!1}return!0}invalidate(){isNullOrUndef(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(chart2){if(this._cache)return this._cache;let descriptors2=this._cache=this._createDescriptors(chart2);return this._notifyStateChanges(chart2),descriptors2}_createDescriptors(chart2,all){let config=chart2&&chart2.config,options=valueOrDefault(config.options&&config.options.plugins,{}),plugins2=allPlugins(config);return options===!1&&!all?[]:createDescriptors(chart2,plugins2,options,all)}_notifyStateChanges(chart2){let previousDescriptors=this._oldCache||[],descriptors2=this._cache,diff=(a,b)=>a.filter(x=>!b.some(y=>x.plugin.id===y.plugin.id));this._notify(diff(previousDescriptors,descriptors2),chart2,"stop"),this._notify(diff(descriptors2,previousDescriptors),chart2,"start")}};function allPlugins(config){let localIds={},plugins2=[],keys=Object.keys(registry.plugins.items);for(let i=0;i{let scaleConf=configScales[id];if(!isObject(scaleConf))return console.error(`Invalid scale configuration for scale: ${id}`);if(scaleConf._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${id}`);let axis=determineAxis(id,scaleConf),defaultId=getDefaultScaleIDFromAxis(axis,chartIndexAxis),defaultScaleOptions=chartDefaults.scales||{};firstIDs[axis]=firstIDs[axis]||id,scales2[id]=mergeIf(Object.create(null),[{axis},scaleConf,defaultScaleOptions[axis],defaultScaleOptions[defaultId]])}),config.data.datasets.forEach(dataset=>{let type=dataset.type||config.type,indexAxis=dataset.indexAxis||getIndexAxis(type,options),defaultScaleOptions=(overrides[type]||{}).scales||{};Object.keys(defaultScaleOptions).forEach(defaultID=>{let axis=getAxisFromDefaultScaleID(defaultID,indexAxis),id=dataset[axis+"AxisID"]||firstIDs[axis]||axis;scales2[id]=scales2[id]||Object.create(null),mergeIf(scales2[id],[{axis},configScales[id],defaultScaleOptions[defaultID]])})}),Object.keys(scales2).forEach(key=>{let scale=scales2[key];mergeIf(scale,[defaults.scales[scale.type],defaults.scale])}),scales2}function initOptions(config){let options=config.options||(config.options={});options.plugins=valueOrDefault(options.plugins,{}),options.scales=mergeScaleConfig(config,options)}function initData(data){return data=data||{},data.datasets=data.datasets||[],data.labels=data.labels||[],data}function initConfig(config){return config=config||{},config.data=initData(config.data),initOptions(config),config}var keyCache=new Map,keysCached=new Set;function cachedKeys(cacheKey,generate){let keys=keyCache.get(cacheKey);return keys||(keys=generate(),keyCache.set(cacheKey,keys),keysCached.add(keys)),keys}var addIfFound=(set2,obj,key)=>{let opts=resolveObjectKey(obj,key);opts!==void 0&&set2.add(opts)},Config=class{constructor(config){this._config=initConfig(config),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(type){this._config.type=type}get data(){return this._config.data}set data(data){this._config.data=initData(data)}get options(){return this._config.options}set options(options){this._config.options=options}get plugins(){return this._config.plugins}update(){let config=this._config;this.clearCache(),initOptions(config)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(datasetType){return cachedKeys(datasetType,()=>[[`datasets.${datasetType}`,""]])}datasetAnimationScopeKeys(datasetType,transition){return cachedKeys(`${datasetType}.transition.${transition}`,()=>[[`datasets.${datasetType}.transitions.${transition}`,`transitions.${transition}`],[`datasets.${datasetType}`,""]])}datasetElementScopeKeys(datasetType,elementType){return cachedKeys(`${datasetType}-${elementType}`,()=>[[`datasets.${datasetType}.elements.${elementType}`,`datasets.${datasetType}`,`elements.${elementType}`,""]])}pluginScopeKeys(plugin){let id=plugin.id,type=this.type;return cachedKeys(`${type}-plugin-${id}`,()=>[[`plugins.${id}`,...plugin.additionalOptionScopes||[]]])}_cachedScopes(mainScope,resetCache){let _scopeCache=this._scopeCache,cache=_scopeCache.get(mainScope);return(!cache||resetCache)&&(cache=new Map,_scopeCache.set(mainScope,cache)),cache}getOptionScopes(mainScope,keyLists,resetCache){let{options,type}=this,cache=this._cachedScopes(mainScope,resetCache),cached=cache.get(keyLists);if(cached)return cached;let scopes=new Set;keyLists.forEach(keys=>{mainScope&&(scopes.add(mainScope),keys.forEach(key=>addIfFound(scopes,mainScope,key))),keys.forEach(key=>addIfFound(scopes,options,key)),keys.forEach(key=>addIfFound(scopes,overrides[type]||{},key)),keys.forEach(key=>addIfFound(scopes,defaults,key)),keys.forEach(key=>addIfFound(scopes,descriptors,key))});let array=Array.from(scopes);return array.length===0&&array.push(Object.create(null)),keysCached.has(keyLists)&&cache.set(keyLists,array),array}chartOptionScopes(){let{options,type}=this;return[options,overrides[type]||{},defaults.datasets[type]||{},{type},defaults,descriptors]}resolveNamedOptions(scopes,names2,context,prefixes=[""]){let result={$shared:!0},{resolver,subPrefixes}=getResolver(this._resolverCache,scopes,prefixes),options=resolver;if(needContext(resolver,names2)){result.$shared=!1,context=isFunction(context)?context():context;let subResolver=this.createResolver(scopes,context,subPrefixes);options=_attachContext(resolver,context,subResolver)}for(let prop of names2)result[prop]=options[prop];return result}createResolver(scopes,context,prefixes=[""],descriptorDefaults){let{resolver}=getResolver(this._resolverCache,scopes,prefixes);return isObject(context)?_attachContext(resolver,context,void 0,descriptorDefaults):resolver}};function getResolver(resolverCache,scopes,prefixes){let cache=resolverCache.get(scopes);cache||(cache=new Map,resolverCache.set(scopes,cache));let cacheKey=prefixes.join(),cached=cache.get(cacheKey);return cached||(cached={resolver:_createResolver(scopes,prefixes),subPrefixes:prefixes.filter(p=>!p.toLowerCase().includes("hover"))},cache.set(cacheKey,cached)),cached}var hasFunction=value=>isObject(value)&&Object.getOwnPropertyNames(value).reduce((acc,key)=>acc||isFunction(value[key]),!1);function needContext(proxy,names2){let{isScriptable,isIndexable}=_descriptors(proxy);for(let prop of names2){let scriptable=isScriptable(prop),indexable=isIndexable(prop),value=(indexable||scriptable)&&proxy[prop];if(scriptable&&(isFunction(value)||hasFunction(value))||indexable&&isArray(value))return!0}return!1}var version="3.9.1",KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(position,axis){return position==="top"||position==="bottom"||KNOWN_POSITIONS.indexOf(position)===-1&&axis==="x"}function compare2Level(l1,l2){return function(a,b){return a[l1]===b[l1]?a[l2]-b[l2]:a[l1]-b[l1]}}function onAnimationsComplete(context){let chart2=context.chart,animationOptions2=chart2.options.animation;chart2.notifyPlugins("afterRender"),callback(animationOptions2&&animationOptions2.onComplete,[context],chart2)}function onAnimationProgress(context){let chart2=context.chart,animationOptions2=chart2.options.animation;callback(animationOptions2&&animationOptions2.onProgress,[context],chart2)}function getCanvas(item){return _isDomSupported()&&typeof item=="string"?item=document.getElementById(item):item&&item.length&&(item=item[0]),item&&item.canvas&&(item=item.canvas),item}var instances={},getChart=key=>{let canvas=getCanvas(key);return Object.values(instances).filter(c=>c.canvas===canvas).pop()};function moveNumericKeys(obj,start,move){let keys=Object.keys(obj);for(let key of keys){let intKey=+key;if(intKey>=start){let value=obj[key];delete obj[key],(move>0||intKey>start)&&(obj[intKey+move]=value)}}}function determineLastEvent(e,lastEvent,inChartArea,isClick){return!inChartArea||e.type==="mouseout"?null:isClick?lastEvent:e}var Chart=class{constructor(item,userConfig){let config=this.config=new Config(userConfig),initialCanvas=getCanvas(item),existingChart=getChart(initialCanvas);if(existingChart)throw new Error("Canvas is already in use. Chart with ID '"+existingChart.id+"' must be destroyed before the canvas with ID '"+existingChart.canvas.id+"' can be reused.");let options=config.createResolver(config.chartOptionScopes(),this.getContext());this.platform=new(config.platform||_detectPlatform(initialCanvas)),this.platform.updateConfig(config);let context=this.platform.acquireContext(initialCanvas,options.aspectRatio),canvas=context&&context.canvas,height=canvas&&canvas.height,width=canvas&&canvas.width;if(this.id=uid(),this.ctx=context,this.canvas=canvas,this.width=width,this.height=height,this._options=options,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce(mode=>this.update(mode),options.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!context||!canvas){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio,maintainAspectRatio},width,height,_aspectRatio}=this;return isNullOrUndef(aspectRatio)?maintainAspectRatio&&_aspectRatio?_aspectRatio:height?width/height:null:aspectRatio}get data(){return this.config.data}set data(data){this.config.data=data}get options(){return this._options}set options(options){this.config.options=options}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(width,height){animator.running(this)?this._resizeBeforeDraw={width,height}:this._resize(width,height)}_resize(width,height){let options=this.options,canvas=this.canvas,aspectRatio=options.maintainAspectRatio&&this.aspectRatio,newSize=this.platform.getMaximumSize(canvas,width,height,aspectRatio),newRatio=options.devicePixelRatio||this.platform.getDevicePixelRatio(),mode=this.width?"resize":"attach";this.width=newSize.width,this.height=newSize.height,this._aspectRatio=this.aspectRatio,!!retinaScale(this,newRatio,!0)&&(this.notifyPlugins("resize",{size:newSize}),callback(options.onResize,[this,newSize],this),this.attached&&this._doResize(mode)&&this.render())}ensureScalesHaveIDs(){let scalesOptions=this.options.scales||{};each(scalesOptions,(axisOptions,axisID)=>{axisOptions.id=axisID})}buildOrUpdateScales(){let options=this.options,scaleOpts=options.scales,scales2=this.scales,updated=Object.keys(scales2).reduce((obj,id)=>(obj[id]=!1,obj),{}),items=[];scaleOpts&&(items=items.concat(Object.keys(scaleOpts).map(id=>{let scaleOptions=scaleOpts[id],axis=determineAxis(id,scaleOptions),isRadial=axis==="r",isHorizontal=axis==="x";return{options:scaleOptions,dposition:isRadial?"chartArea":isHorizontal?"bottom":"left",dtype:isRadial?"radialLinear":isHorizontal?"category":"linear"}}))),each(items,item=>{let scaleOptions=item.options,id=scaleOptions.id,axis=determineAxis(id,scaleOptions),scaleType=valueOrDefault(scaleOptions.type,item.dtype);(scaleOptions.position===void 0||positionIsHorizontal(scaleOptions.position,axis)!==positionIsHorizontal(item.dposition))&&(scaleOptions.position=item.dposition),updated[id]=!0;let scale=null;if(id in scales2&&scales2[id].type===scaleType)scale=scales2[id];else{let scaleClass=registry.getScale(scaleType);scale=new scaleClass({id,type:scaleType,ctx:this.ctx,chart:this}),scales2[scale.id]=scale}scale.init(scaleOptions,options)}),each(updated,(hasUpdated,id)=>{hasUpdated||delete scales2[id]}),each(scales2,scale=>{layouts.configure(this,scale,scale.options),layouts.addBox(this,scale)})}_updateMetasets(){let metasets=this._metasets,numData=this.data.datasets.length,numMeta=metasets.length;if(metasets.sort((a,b)=>a.index-b.index),numMeta>numData){for(let i=numData;idatasets.length&&delete this._stacks,metasets.forEach((meta,index2)=>{datasets.filter(x=>x===meta._dataset).length===0&&this._destroyDatasetMeta(index2)})}buildOrUpdateControllers(){let newControllers=[],datasets=this.data.datasets,i,ilen;for(this._removeUnreferencedMetasets(),i=0,ilen=datasets.length;i{this.getDatasetMeta(datasetIndex).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(mode){let config=this.config;config.update();let options=this._options=config.createResolver(config.chartOptionScopes(),this.getContext()),animsDisabled=this._animationsDisabled=!options.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode,cancelable:!0})===!1)return;let newControllers=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let minPadding=0;for(let i=0,ilen=this.data.datasets.length;i{controller.reset()}),this._updateDatasets(mode),this.notifyPlugins("afterUpdate",{mode}),this._layers.sort(compare2Level("z","_idx"));let{_active,_lastEvent}=this;_lastEvent?this._eventHandler(_lastEvent,!0):_active.length&&this._updateHoverStyles(_active,_active,!0),this.render()}_updateScales(){each(this.scales,scale=>{layouts.removeBox(this,scale)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let options=this.options,existingEvents=new Set(Object.keys(this._listeners)),newEvents=new Set(options.events);(!setsEqual(existingEvents,newEvents)||!!this._responsiveListeners!==options.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices}=this,changes=this._getUniformDataChanges()||[];for(let{method,start,count}of changes){let move=method==="_removeElements"?-count:count;moveNumericKeys(_hiddenIndices,start,move)}}_getUniformDataChanges(){let _dataChanges=this._dataChanges;if(!_dataChanges||!_dataChanges.length)return;this._dataChanges=[];let datasetCount=this.data.datasets.length,makeSet=idx=>new Set(_dataChanges.filter(c=>c[0]===idx).map((c,i)=>i+","+c.splice(1).join(","))),changeSet=makeSet(0);for(let i=1;ic.split(",")).map(a=>({method:a[1],start:+a[2],count:+a[3]}))}_updateLayout(minPadding){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,minPadding);let area=this.chartArea,noArea=area.width<=0||area.height<=0;this._layers=[],each(this.boxes,box=>{noArea&&box.position==="chartArea"||(box.configure&&box.configure(),this._layers.push(...box._layers()))},this),this._layers.forEach((item,index2)=>{item._idx=index2}),this.notifyPlugins("afterLayout")}_updateDatasets(mode){if(this.notifyPlugins("beforeDatasetsUpdate",{mode,cancelable:!0})!==!1){for(let i=0,ilen=this.data.datasets.length;i=0;--i)this._drawDataset(metasets[i]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(meta){let ctx=this.ctx,clip=meta._clip,useClip=!clip.disabled,area=this.chartArea,args={meta,index:meta.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",args)!==!1&&(useClip&&clipArea(ctx,{left:clip.left===!1?0:area.left-clip.left,right:clip.right===!1?this.width:area.right+clip.right,top:clip.top===!1?0:area.top-clip.top,bottom:clip.bottom===!1?this.height:area.bottom+clip.bottom}),meta.controller.draw(),useClip&&unclipArea(ctx),args.cancelable=!1,this.notifyPlugins("afterDatasetDraw",args))}isPointInArea(point){return _isPointInArea(point,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,mode,options,useFinalPosition){let method=Interaction.modes[mode];return typeof method=="function"?method(this,e,options,useFinalPosition):[]}getDatasetMeta(datasetIndex){let dataset=this.data.datasets[datasetIndex],metasets=this._metasets,meta=metasets.filter(x=>x&&x._dataset===dataset).pop();return meta||(meta={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:dataset&&dataset.order||0,index:datasetIndex,_dataset:dataset,_parsed:[],_sorted:!1},metasets.push(meta)),meta}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(datasetIndex){let dataset=this.data.datasets[datasetIndex];if(!dataset)return!1;let meta=this.getDatasetMeta(datasetIndex);return typeof meta.hidden=="boolean"?!meta.hidden:!dataset.hidden}setDatasetVisibility(datasetIndex,visible){let meta=this.getDatasetMeta(datasetIndex);meta.hidden=!visible}toggleDataVisibility(index2){this._hiddenIndices[index2]=!this._hiddenIndices[index2]}getDataVisibility(index2){return!this._hiddenIndices[index2]}_updateVisibility(datasetIndex,dataIndex,visible){let mode=visible?"show":"hide",meta=this.getDatasetMeta(datasetIndex),anims=meta.controller._resolveAnimations(void 0,mode);defined(dataIndex)?(meta.data[dataIndex].hidden=!visible,this.update()):(this.setDatasetVisibility(datasetIndex,visible),anims.update(meta,{visible}),this.update(ctx=>ctx.datasetIndex===datasetIndex?mode:void 0))}hide(datasetIndex,dataIndex){this._updateVisibility(datasetIndex,dataIndex,!1)}show(datasetIndex,dataIndex){this._updateVisibility(datasetIndex,dataIndex,!0)}_destroyDatasetMeta(datasetIndex){let meta=this._metasets[datasetIndex];meta&&meta.controller&&meta.controller._destroy(),delete this._metasets[datasetIndex]}_stop(){let i,ilen;for(this.stop(),animator.remove(this),i=0,ilen=this.data.datasets.length;i{platform.addEventListener(this,type,listener2),listeners[type]=listener2},listener=(e,x,y)=>{e.offsetX=x,e.offsetY=y,this._eventHandler(e)};each(this.options.events,type=>_add(type,listener))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let listeners=this._responsiveListeners,platform=this.platform,_add=(type,listener2)=>{platform.addEventListener(this,type,listener2),listeners[type]=listener2},_remove=(type,listener2)=>{listeners[type]&&(platform.removeEventListener(this,type,listener2),delete listeners[type])},listener=(width,height)=>{this.canvas&&this.resize(width,height)},detached,attached=()=>{_remove("attach",attached),this.attached=!0,this.resize(),_add("resize",listener),_add("detach",detached)};detached=()=>{this.attached=!1,_remove("resize",listener),this._stop(),this._resize(0,0),_add("attach",attached)},platform.isAttached(this.canvas)?attached():detached()}unbindEvents(){each(this._listeners,(listener,type)=>{this.platform.removeEventListener(this,type,listener)}),this._listeners={},each(this._responsiveListeners,(listener,type)=>{this.platform.removeEventListener(this,type,listener)}),this._responsiveListeners=void 0}updateHoverStyle(items,mode,enabled){let prefix=enabled?"set":"remove",meta,item,i,ilen;for(mode==="dataset"&&(meta=this.getDatasetMeta(items[0].datasetIndex),meta.controller["_"+prefix+"DatasetHoverStyle"]()),i=0,ilen=items.length;i{let meta=this.getDatasetMeta(datasetIndex);if(!meta)throw new Error("No dataset found at index "+datasetIndex);return{datasetIndex,element:meta.data[index2],index:index2}});!_elementsEqual(active,lastActive)&&(this._active=active,this._lastEvent=null,this._updateHoverStyles(active,lastActive))}notifyPlugins(hook,args,filter){return this._plugins.notify(this,hook,args,filter)}_updateHoverStyles(active,lastActive,replay){let hoverOptions=this.options.hover,diff=(a,b)=>a.filter(x=>!b.some(y=>x.datasetIndex===y.datasetIndex&&x.index===y.index)),deactivated=diff(lastActive,active),activated=replay?active:diff(active,lastActive);deactivated.length&&this.updateHoverStyle(deactivated,hoverOptions.mode,!1),activated.length&&hoverOptions.mode&&this.updateHoverStyle(activated,hoverOptions.mode,!0)}_eventHandler(e,replay){let args={event:e,replay,cancelable:!0,inChartArea:this.isPointInArea(e)},eventFilter=plugin=>(plugin.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins("beforeEvent",args,eventFilter)===!1)return;let changed=this._handleEvent(e,replay,args.inChartArea);return args.cancelable=!1,this.notifyPlugins("afterEvent",args,eventFilter),(changed||args.changed)&&this.render(),this}_handleEvent(e,replay,inChartArea){let{_active:lastActive=[],options}=this,useFinalPosition=replay,active=this._getActiveElements(e,lastActive,inChartArea,useFinalPosition),isClick=_isClickEvent(e),lastEvent=determineLastEvent(e,this._lastEvent,inChartArea,isClick);inChartArea&&(this._lastEvent=null,callback(options.onHover,[e,active,this],this),isClick&&callback(options.onClick,[e,active,this],this));let changed=!_elementsEqual(active,lastActive);return(changed||replay)&&(this._active=active,this._updateHoverStyles(active,lastActive,replay)),this._lastEvent=lastEvent,changed}_getActiveElements(e,lastActive,inChartArea,useFinalPosition){if(e.type==="mouseout")return[];if(!inChartArea)return lastActive;let hoverOptions=this.options.hover;return this.getElementsAtEventForMode(e,hoverOptions.mode,hoverOptions,useFinalPosition)}},invalidatePlugins=()=>each(Chart.instances,chart2=>chart2._plugins.invalidate()),enumerable=!0;Object.defineProperties(Chart,{defaults:{enumerable,value:defaults},instances:{enumerable,value:instances},overrides:{enumerable,value:overrides},registry:{enumerable,value:registry},version:{enumerable,value:version},getChart:{enumerable,value:getChart},register:{enumerable,value:(...items)=>{registry.add(...items),invalidatePlugins()}},unregister:{enumerable,value:(...items)=>{registry.remove(...items),invalidatePlugins()}}});function clipArc(ctx,element,endAngle){let{startAngle,pixelMargin,x,y,outerRadius,innerRadius}=element,angleMargin=pixelMargin/outerRadius;ctx.beginPath(),ctx.arc(x,y,outerRadius,startAngle-angleMargin,endAngle+angleMargin),innerRadius>pixelMargin?(angleMargin=pixelMargin/innerRadius,ctx.arc(x,y,innerRadius,endAngle+angleMargin,startAngle-angleMargin,!0)):ctx.arc(x,y,pixelMargin,endAngle+HALF_PI,startAngle-HALF_PI),ctx.closePath(),ctx.clip()}function toRadiusCorners(value){return _readValueToProps(value,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(arc,innerRadius,outerRadius,angleDelta){let o=toRadiusCorners(arc.options.borderRadius),halfThickness=(outerRadius-innerRadius)/2,innerLimit=Math.min(halfThickness,angleDelta*innerRadius/2),computeOuterLimit=val=>{let outerArcLimit=(outerRadius-Math.min(halfThickness,val))*angleDelta/2;return _limitValue(val,0,Math.min(halfThickness,outerArcLimit))};return{outerStart:computeOuterLimit(o.outerStart),outerEnd:computeOuterLimit(o.outerEnd),innerStart:_limitValue(o.innerStart,0,innerLimit),innerEnd:_limitValue(o.innerEnd,0,innerLimit)}}function rThetaToXY(r,theta,x,y){return{x:x+r*Math.cos(theta),y:y+r*Math.sin(theta)}}function pathArc(ctx,element,offset,spacing,end,circular){let{x,y,startAngle:start,pixelMargin,innerRadius:innerR}=element,outerRadius=Math.max(element.outerRadius+spacing+offset-pixelMargin,0),innerRadius=innerR>0?innerR+spacing+offset+pixelMargin:0,spacingOffset=0,alpha2=end-start;if(spacing){let noSpacingInnerRadius=innerR>0?innerR-spacing:0,noSpacingOuterRadius=outerRadius>0?outerRadius-spacing:0,avNogSpacingRadius=(noSpacingInnerRadius+noSpacingOuterRadius)/2,adjustedAngle=avNogSpacingRadius!==0?alpha2*avNogSpacingRadius/(avNogSpacingRadius+spacing):alpha2;spacingOffset=(alpha2-adjustedAngle)/2}let beta=Math.max(.001,alpha2*outerRadius-offset/PI)/outerRadius,angleOffset=(alpha2-beta)/2,startAngle=start+angleOffset+spacingOffset,endAngle=end-angleOffset-spacingOffset,{outerStart,outerEnd,innerStart,innerEnd}=parseBorderRadius$1(element,innerRadius,outerRadius,endAngle-startAngle),outerStartAdjustedRadius=outerRadius-outerStart,outerEndAdjustedRadius=outerRadius-outerEnd,outerStartAdjustedAngle=startAngle+outerStart/outerStartAdjustedRadius,outerEndAdjustedAngle=endAngle-outerEnd/outerEndAdjustedRadius,innerStartAdjustedRadius=innerRadius+innerStart,innerEndAdjustedRadius=innerRadius+innerEnd,innerStartAdjustedAngle=startAngle+innerStart/innerStartAdjustedRadius,innerEndAdjustedAngle=endAngle-innerEnd/innerEndAdjustedRadius;if(ctx.beginPath(),circular){if(ctx.arc(x,y,outerRadius,outerStartAdjustedAngle,outerEndAdjustedAngle),outerEnd>0){let pCenter=rThetaToXY(outerEndAdjustedRadius,outerEndAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,outerEnd,outerEndAdjustedAngle,endAngle+HALF_PI)}let p4=rThetaToXY(innerEndAdjustedRadius,endAngle,x,y);if(ctx.lineTo(p4.x,p4.y),innerEnd>0){let pCenter=rThetaToXY(innerEndAdjustedRadius,innerEndAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,innerEnd,endAngle+HALF_PI,innerEndAdjustedAngle+Math.PI)}if(ctx.arc(x,y,innerRadius,endAngle-innerEnd/innerRadius,startAngle+innerStart/innerRadius,!0),innerStart>0){let pCenter=rThetaToXY(innerStartAdjustedRadius,innerStartAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,innerStart,innerStartAdjustedAngle+Math.PI,startAngle-HALF_PI)}let p8=rThetaToXY(outerStartAdjustedRadius,startAngle,x,y);if(ctx.lineTo(p8.x,p8.y),outerStart>0){let pCenter=rThetaToXY(outerStartAdjustedRadius,outerStartAdjustedAngle,x,y);ctx.arc(pCenter.x,pCenter.y,outerStart,startAngle-HALF_PI,outerStartAdjustedAngle)}}else{ctx.moveTo(x,y);let outerStartX=Math.cos(outerStartAdjustedAngle)*outerRadius+x,outerStartY=Math.sin(outerStartAdjustedAngle)*outerRadius+y;ctx.lineTo(outerStartX,outerStartY);let outerEndX=Math.cos(outerEndAdjustedAngle)*outerRadius+x,outerEndY=Math.sin(outerEndAdjustedAngle)*outerRadius+y;ctx.lineTo(outerEndX,outerEndY)}ctx.closePath()}function drawArc(ctx,element,offset,spacing,circular){let{fullCircles,startAngle,circumference}=element,endAngle=element.endAngle;if(fullCircles){pathArc(ctx,element,offset,spacing,startAngle+TAU,circular);for(let i=0;i=TAU||_angleBetween(angle,startAngle,endAngle),withinRadius=_isBetween(distance,innerRadius+rAdjust,outerRadius+rAdjust);return betweenAngles&&withinRadius}getCenterPoint(useFinalPosition){let{x,y,startAngle,endAngle,innerRadius,outerRadius}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],useFinalPosition),{offset,spacing}=this.options,halfAngle=(startAngle+endAngle)/2,halfRadius=(innerRadius+outerRadius+spacing+offset)/2;return{x:x+Math.cos(halfAngle)*halfRadius,y:y+Math.sin(halfAngle)*halfRadius}}tooltipPosition(useFinalPosition){return this.getCenterPoint(useFinalPosition)}draw(ctx){let{options,circumference}=this,offset=(options.offset||0)/2,spacing=(options.spacing||0)/2,circular=options.circular;if(this.pixelMargin=options.borderAlign==="inner"?.33:0,this.fullCircles=circumference>TAU?Math.floor(circumference/TAU):0,circumference===0||this.innerRadius<0||this.outerRadius<0)return;ctx.save();let radiusOffset=0;if(offset){radiusOffset=offset/2;let halfAngle=(this.startAngle+this.endAngle)/2;ctx.translate(Math.cos(halfAngle)*radiusOffset,Math.sin(halfAngle)*radiusOffset),this.circumference>=PI&&(radiusOffset=offset)}ctx.fillStyle=options.backgroundColor,ctx.strokeStyle=options.borderColor;let endAngle=drawArc(ctx,this,radiusOffset,spacing,circular);drawBorder(ctx,this,radiusOffset,spacing,endAngle,circular),ctx.restore()}};ArcElement.id="arc";ArcElement.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};ArcElement.defaultRoutes={backgroundColor:"backgroundColor"};function setStyle(ctx,options,style=options){ctx.lineCap=valueOrDefault(style.borderCapStyle,options.borderCapStyle),ctx.setLineDash(valueOrDefault(style.borderDash,options.borderDash)),ctx.lineDashOffset=valueOrDefault(style.borderDashOffset,options.borderDashOffset),ctx.lineJoin=valueOrDefault(style.borderJoinStyle,options.borderJoinStyle),ctx.lineWidth=valueOrDefault(style.borderWidth,options.borderWidth),ctx.strokeStyle=valueOrDefault(style.borderColor,options.borderColor)}function lineTo(ctx,previous,target){ctx.lineTo(target.x,target.y)}function getLineMethod(options){return options.stepped?_steppedLineTo:options.tension||options.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(points,segment,params={}){let count=points.length,{start:paramsStart=0,end:paramsEnd=count-1}=params,{start:segmentStart,end:segmentEnd}=segment,start=Math.max(paramsStart,segmentStart),end=Math.min(paramsEnd,segmentEnd),outside=paramsStartsegmentEnd&¶msEnd>segmentEnd;return{count,start,loop:segment.loop,ilen:end(start+(reverse?ilen-index2:index2))%count,drawX=()=>{minY!==maxY&&(ctx.lineTo(avgX,maxY),ctx.lineTo(avgX,minY),ctx.lineTo(avgX,lastY))};for(move&&(point=points[pointIndex(0)],ctx.moveTo(point.x,point.y)),i=0;i<=ilen;++i){if(point=points[pointIndex(i)],point.skip)continue;let x=point.x,y=point.y,truncX=x|0;truncX===prevX?(ymaxY&&(maxY=y),avgX=(countX*avgX+x)/++countX):(drawX(),ctx.lineTo(x,y),prevX=truncX,countX=0,minY=maxY=y),lastY=y}drawX()}function _getSegmentMethod(line){let opts=line.options,borderDash=opts.borderDash&&opts.borderDash.length;return!line._decimated&&!line._loop&&!opts.tension&&opts.cubicInterpolationMode!=="monotone"&&!opts.stepped&&!borderDash?fastPathSegment:pathSegment}function _getInterpolationMethod(options){return options.stepped?_steppedInterpolation:options.tension||options.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(ctx,line,start,count){let path=line._path;path||(path=line._path=new Path2D,line.path(path,start,count)&&path.closePath()),setStyle(ctx,line.options),ctx.stroke(path)}function strokePathDirect(ctx,line,start,count){let{segments,options}=line,segmentMethod=_getSegmentMethod(line);for(let segment of segments)setStyle(ctx,options,segment.style),ctx.beginPath(),segmentMethod(ctx,line,segment,{start,end:start+count-1})&&ctx.closePath(),ctx.stroke()}var usePath2D=typeof Path2D=="function";function draw(ctx,line,start,count){usePath2D&&!line.options.segment?strokePathWithCache(ctx,line,start,count):strokePathDirect(ctx,line,start,count)}var LineElement=class extends Element{constructor(cfg){super();this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,cfg&&Object.assign(this,cfg)}updateControlPoints(chartArea,indexAxis){let options=this.options;if((options.tension||options.cubicInterpolationMode==="monotone")&&!options.stepped&&!this._pointsUpdated){let loop=options.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,options,chartArea,loop,indexAxis),this._pointsUpdated=!0}}set points(points){this._points=points,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){let segments=this.segments,points=this.points;return segments.length&&points[segments[0].start]}last(){let segments=this.segments,points=this.points,count=segments.length;return count&&points[segments[count-1].end]}interpolate(point,property){let options=this.options,value=point[property],points=this.points,segments=_boundSegments(this,{property,start:value,end:value});if(!segments.length)return;let result=[],_interpolate=_getInterpolationMethod(options),i,ilen;for(i=0,ilen=segments.length;iname!=="borderDash"&&name!=="fill"};function inRange$1(el,pos,axis,useFinalPosition){let options=el.options,{[axis]:value}=el.getProps([axis],useFinalPosition);return Math.abs(pos-value)=count)return data.slice(start,start+count);let decimated=[],bucketWidth=(count-2)/(samples-2),sampledIndex=0,endIndex=start+count-1,a=start,i,maxAreaPoint,maxArea,area,nextA;for(decimated[sampledIndex++]=data[a],i=0;imaxArea&&(maxArea=area,maxAreaPoint=data[j],nextA=j);decimated[sampledIndex++]=maxAreaPoint,a=nextA}return decimated[sampledIndex++]=data[endIndex],decimated}function minMaxDecimation(data,start,count,availableWidth){let avgX=0,countX=0,i,point,x,y,prevX,minIndex,maxIndex,startIndex,minY,maxY,decimated=[],endIndex=start+count-1,xMin=data[start].x,dx=data[endIndex].x-xMin;for(i=start;imaxY&&(maxY=y,maxIndex=i),avgX=(countX*avgX+point.x)/++countX;else{let lastIndex=i-1;if(!isNullOrUndef(minIndex)&&!isNullOrUndef(maxIndex)){let intermediateIndex1=Math.min(minIndex,maxIndex),intermediateIndex2=Math.max(minIndex,maxIndex);intermediateIndex1!==startIndex&&intermediateIndex1!==lastIndex&&decimated.push({...data[intermediateIndex1],x:avgX}),intermediateIndex2!==startIndex&&intermediateIndex2!==lastIndex&&decimated.push({...data[intermediateIndex2],x:avgX})}i>0&&lastIndex!==startIndex&&decimated.push(data[lastIndex]),decimated.push(point),prevX=truncX,countX=0,minY=maxY=y,minIndex=maxIndex=startIndex=i}}return decimated}function cleanDecimatedDataset(dataset){if(dataset._decimated){let data=dataset._data;delete dataset._decimated,delete dataset._data,Object.defineProperty(dataset,"data",{value:data})}}function cleanDecimatedData(chart2){chart2.data.datasets.forEach(dataset=>{cleanDecimatedDataset(dataset)})}function getStartAndCountOfVisiblePointsSimplified(meta,points){let pointCount=points.length,start=0,count,{iScale}=meta,{min,max,minDefined,maxDefined}=iScale.getUserBounds();return minDefined&&(start=_limitValue(_lookupByKey(points,iScale.axis,min).lo,0,pointCount-1)),maxDefined?count=_limitValue(_lookupByKey(points,iScale.axis,max).hi+1,start,pointCount)-start:count=pointCount-start,{start,count}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(chart2,args,options)=>{if(!options.enabled){cleanDecimatedData(chart2);return}let availableWidth=chart2.width;chart2.data.datasets.forEach((dataset,datasetIndex)=>{let{_data,indexAxis}=dataset,meta=chart2.getDatasetMeta(datasetIndex),data=_data||dataset.data;if(resolve([indexAxis,chart2.options.indexAxis])==="y"||!meta.controller.supportsDecimation)return;let xAxis=chart2.scales[meta.xAxisID];if(xAxis.type!=="linear"&&xAxis.type!=="time"||chart2.options.parsing)return;let{start,count}=getStartAndCountOfVisiblePointsSimplified(meta,data),threshold=options.threshold||4*availableWidth;if(count<=threshold){cleanDecimatedDataset(dataset);return}isNullOrUndef(_data)&&(dataset._data=data,delete dataset.data,Object.defineProperty(dataset,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(d){this._data=d}}));let decimated;switch(options.algorithm){case"lttb":decimated=lttbDecimation(data,start,count,availableWidth,options);break;case"min-max":decimated=minMaxDecimation(data,start,count,availableWidth);break;default:throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`)}dataset._decimated=decimated})},destroy(chart2){cleanDecimatedData(chart2)}};function _segments(line,target,property){let segments=line.segments,points=line.points,tpoints=target.points,parts=[];for(let segment of segments){let{start,end}=segment;end=_findSegmentEnd(start,end,points);let bounds=_getBounds(property,points[start],points[end],segment.loop);if(!target.segments){parts.push({source:segment,target:bounds,start:points[start],end:points[end]});continue}let targetSegments=_boundSegments(target,bounds);for(let tgt of targetSegments){let subBounds=_getBounds(property,tpoints[tgt.start],tpoints[tgt.end],tgt.loop),fillSources=_boundSegment(segment,points,subBounds);for(let fillSource of fillSources)parts.push({source:fillSource,target:tgt,start:{[property]:_getEdge(bounds,subBounds,"start",Math.max)},end:{[property]:_getEdge(bounds,subBounds,"end",Math.min)}})}}return parts}function _getBounds(property,first,last,loop){if(loop)return;let start=first[property],end=last[property];return property==="angle"&&(start=_normalizeAngle(start),end=_normalizeAngle(end)),{property,start,end}}function _pointsFromSegments(boundary,line){let{x=null,y=null}=boundary||{},linePoints=line.points,points=[];return line.segments.forEach(({start,end})=>{end=_findSegmentEnd(start,end,linePoints);let first=linePoints[start],last=linePoints[end];y!==null?(points.push({x:first.x,y}),points.push({x:last.x,y})):x!==null&&(points.push({x,y:first.y}),points.push({x,y:last.y}))}),points}function _findSegmentEnd(start,end,points){for(;end>start;end--){let point=points[end];if(!isNaN(point.x)&&!isNaN(point.y))break}return end}function _getEdge(a,b,prop,fn){return a&&b?fn(a[prop],b[prop]):a?a[prop]:b?b[prop]:0}function _createBoundaryLine(boundary,line){let points=[],_loop=!1;return isArray(boundary)?(_loop=!0,points=boundary):points=_pointsFromSegments(boundary,line),points.length?new LineElement({points,options:{tension:0},_loop,_fullLoop:_loop}):null}function _shouldApplyFill(source){return source&&source.fill!==!1}function _resolveTarget(sources,index2,propagate){let fill2=sources[index2].fill,visited=[index2],target;if(!propagate)return fill2;for(;fill2!==!1&&visited.indexOf(fill2)===-1;){if(!isNumberFinite(fill2))return fill2;if(target=sources[fill2],!target)return!1;if(target.visible)return fill2;visited.push(fill2),fill2=target.fill}return!1}function _decodeFill(line,index2,count){let fill2=parseFillOption(line);if(isObject(fill2))return isNaN(fill2.value)?!1:fill2;let target=parseFloat(fill2);return isNumberFinite(target)&&Math.floor(target)===target?decodeTargetIndex(fill2[0],index2,target,count):["origin","start","end","stack","shape"].indexOf(fill2)>=0&&fill2}function decodeTargetIndex(firstCh,index2,target,count){return(firstCh==="-"||firstCh==="+")&&(target=index2+target),target===index2||target<0||target>=count?!1:target}function _getTargetPixel(fill2,scale){let pixel=null;return fill2==="start"?pixel=scale.bottom:fill2==="end"?pixel=scale.top:isObject(fill2)?pixel=scale.getPixelForValue(fill2.value):scale.getBasePixel&&(pixel=scale.getBasePixel()),pixel}function _getTargetValue(fill2,scale,startValue){let value;return fill2==="start"?value=startValue:fill2==="end"?value=scale.options.reverse?scale.min:scale.max:isObject(fill2)?value=fill2.value:value=scale.getBaseValue(),value}function parseFillOption(line){let options=line.options,fillOption=options.fill,fill2=valueOrDefault(fillOption&&fillOption.target,fillOption);return fill2===void 0&&(fill2=!!options.backgroundColor),fill2===!1||fill2===null?!1:fill2===!0?"origin":fill2}function _buildStackLine(source){let{scale,index:index2,line}=source,points=[],segments=line.segments,sourcePoints=line.points,linesBelow=getLinesBelow(scale,index2);linesBelow.push(_createBoundaryLine({x:null,y:scale.bottom},line));for(let i=0;i=0;--i){let source=metasets[i].$filler;!source||(source.line.updateControlPoints(area,source.axis),draw2&&source.fill&&_drawfill(chart2.ctx,source,area))}},beforeDatasetsDraw(chart2,_args,options){if(options.drawTime!=="beforeDatasetsDraw")return;let metasets=chart2.getSortedVisibleDatasetMetas();for(let i=metasets.length-1;i>=0;--i){let source=metasets[i].$filler;_shouldApplyFill(source)&&_drawfill(chart2.ctx,source,chart2.chartArea)}},beforeDatasetDraw(chart2,args,options){let source=args.meta.$filler;!_shouldApplyFill(source)||options.drawTime!=="beforeDatasetDraw"||_drawfill(chart2.ctx,source,chart2.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},getBoxSize=(labelOpts,fontSize)=>{let{boxHeight=fontSize,boxWidth=fontSize}=labelOpts;return labelOpts.usePointStyle&&(boxHeight=Math.min(boxHeight,fontSize),boxWidth=labelOpts.pointStyleWidth||Math.min(boxWidth,fontSize)),{boxWidth,boxHeight,itemHeight:Math.max(fontSize,boxHeight)}},itemsEqual=(a,b)=>a!==null&&b!==null&&a.datasetIndex===b.datasetIndex&&a.index===b.index,Legend=class extends Element{constructor(config){super();this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=config.chart,this.options=config.options,this.ctx=config.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(maxWidth,maxHeight,margins){this.maxWidth=maxWidth,this.maxHeight=maxHeight,this._margins=margins,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let labelOpts=this.options.labels||{},legendItems=callback(labelOpts.generateLabels,[this.chart],this)||[];labelOpts.filter&&(legendItems=legendItems.filter(item=>labelOpts.filter(item,this.chart.data))),labelOpts.sort&&(legendItems=legendItems.sort((a,b)=>labelOpts.sort(a,b,this.chart.data))),this.options.reverse&&legendItems.reverse(),this.legendItems=legendItems}fit(){let{options,ctx}=this;if(!options.display){this.width=this.height=0;return}let labelOpts=options.labels,labelFont=toFont(labelOpts.font),fontSize=labelFont.size,titleHeight=this._computeTitleHeight(),{boxWidth,itemHeight}=getBoxSize(labelOpts,fontSize),width,height;ctx.font=labelFont.string,this.isHorizontal()?(width=this.maxWidth,height=this._fitRows(titleHeight,fontSize,boxWidth,itemHeight)+10):(height=this.maxHeight,width=this._fitCols(titleHeight,fontSize,boxWidth,itemHeight)+10),this.width=Math.min(width,options.maxWidth||this.maxWidth),this.height=Math.min(height,options.maxHeight||this.maxHeight)}_fitRows(titleHeight,fontSize,boxWidth,itemHeight){let{ctx,maxWidth,options:{labels:{padding}}}=this,hitboxes=this.legendHitBoxes=[],lineWidths=this.lineWidths=[0],lineHeight=itemHeight+padding,totalHeight=titleHeight;ctx.textAlign="left",ctx.textBaseline="middle";let row=-1,top=-lineHeight;return this.legendItems.forEach((legendItem,i)=>{let itemWidth=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;(i===0||lineWidths[lineWidths.length-1]+itemWidth+2*padding>maxWidth)&&(totalHeight+=lineHeight,lineWidths[lineWidths.length-(i>0?0:1)]=0,top+=lineHeight,row++),hitboxes[i]={left:0,top,row,width:itemWidth,height:itemHeight},lineWidths[lineWidths.length-1]+=itemWidth+padding}),totalHeight}_fitCols(titleHeight,fontSize,boxWidth,itemHeight){let{ctx,maxHeight,options:{labels:{padding}}}=this,hitboxes=this.legendHitBoxes=[],columnSizes=this.columnSizes=[],heightLimit=maxHeight-titleHeight,totalWidth=padding,currentColWidth=0,currentColHeight=0,left=0,col=0;return this.legendItems.forEach((legendItem,i)=>{let itemWidth=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;i>0&¤tColHeight+itemHeight+2*padding>heightLimit&&(totalWidth+=currentColWidth+padding,columnSizes.push({width:currentColWidth,height:currentColHeight}),left+=currentColWidth+padding,col++,currentColWidth=currentColHeight=0),hitboxes[i]={left,top:currentColHeight,col,width:itemWidth,height:itemHeight},currentColWidth=Math.max(currentColWidth,itemWidth),currentColHeight+=itemHeight+padding}),totalWidth+=currentColWidth,columnSizes.push({width:currentColWidth,height:currentColHeight}),totalWidth}adjustHitBoxes(){if(!this.options.display)return;let titleHeight=this._computeTitleHeight(),{legendHitBoxes:hitboxes,options:{align,labels:{padding},rtl}}=this,rtlHelper=getRtlAdapter(rtl,this.left,this.width);if(this.isHorizontal()){let row=0,left=_alignStartEnd(align,this.left+padding,this.right-this.lineWidths[row]);for(let hitbox of hitboxes)row!==hitbox.row&&(row=hitbox.row,left=_alignStartEnd(align,this.left+padding,this.right-this.lineWidths[row])),hitbox.top+=this.top+titleHeight+padding,hitbox.left=rtlHelper.leftForLtr(rtlHelper.x(left),hitbox.width),left+=hitbox.width+padding}else{let col=0,top=_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-this.columnSizes[col].height);for(let hitbox of hitboxes)hitbox.col!==col&&(col=hitbox.col,top=_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-this.columnSizes[col].height)),hitbox.top=top,hitbox.left+=this.left+padding,hitbox.left=rtlHelper.leftForLtr(rtlHelper.x(hitbox.left),hitbox.width),top+=hitbox.height+padding}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let ctx=this.ctx;clipArea(ctx,this),this._draw(),unclipArea(ctx)}}_draw(){let{options:opts,columnSizes,lineWidths,ctx}=this,{align,labels:labelOpts}=opts,defaultColor=defaults.color,rtlHelper=getRtlAdapter(opts.rtl,this.left,this.width),labelFont=toFont(labelOpts.font),{color:fontColor,padding}=labelOpts,fontSize=labelFont.size,halfFontSize=fontSize/2,cursor;this.drawTitle(),ctx.textAlign=rtlHelper.textAlign("left"),ctx.textBaseline="middle",ctx.lineWidth=.5,ctx.font=labelFont.string;let{boxWidth,boxHeight,itemHeight}=getBoxSize(labelOpts,fontSize),drawLegendBox=function(x,y,legendItem){if(isNaN(boxWidth)||boxWidth<=0||isNaN(boxHeight)||boxHeight<0)return;ctx.save();let lineWidth=valueOrDefault(legendItem.lineWidth,1);if(ctx.fillStyle=valueOrDefault(legendItem.fillStyle,defaultColor),ctx.lineCap=valueOrDefault(legendItem.lineCap,"butt"),ctx.lineDashOffset=valueOrDefault(legendItem.lineDashOffset,0),ctx.lineJoin=valueOrDefault(legendItem.lineJoin,"miter"),ctx.lineWidth=lineWidth,ctx.strokeStyle=valueOrDefault(legendItem.strokeStyle,defaultColor),ctx.setLineDash(valueOrDefault(legendItem.lineDash,[])),labelOpts.usePointStyle){let drawOptions={radius:boxHeight*Math.SQRT2/2,pointStyle:legendItem.pointStyle,rotation:legendItem.rotation,borderWidth:lineWidth},centerX=rtlHelper.xPlus(x,boxWidth/2),centerY=y+halfFontSize;drawPointLegend(ctx,drawOptions,centerX,centerY,labelOpts.pointStyleWidth&&boxWidth)}else{let yBoxTop=y+Math.max((fontSize-boxHeight)/2,0),xBoxLeft=rtlHelper.leftForLtr(x,boxWidth),borderRadius=toTRBLCorners(legendItem.borderRadius);ctx.beginPath(),Object.values(borderRadius).some(v=>v!==0)?addRoundedRectPath(ctx,{x:xBoxLeft,y:yBoxTop,w:boxWidth,h:boxHeight,radius:borderRadius}):ctx.rect(xBoxLeft,yBoxTop,boxWidth,boxHeight),ctx.fill(),lineWidth!==0&&ctx.stroke()}ctx.restore()},fillText=function(x,y,legendItem){renderText(ctx,legendItem.text,x,y+itemHeight/2,labelFont,{strikethrough:legendItem.hidden,textAlign:rtlHelper.textAlign(legendItem.textAlign)})},isHorizontal=this.isHorizontal(),titleHeight=this._computeTitleHeight();isHorizontal?cursor={x:_alignStartEnd(align,this.left+padding,this.right-lineWidths[0]),y:this.top+padding+titleHeight,line:0}:cursor={x:this.left+padding,y:_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-columnSizes[0].height),line:0},overrideTextDirection(this.ctx,opts.textDirection);let lineHeight=itemHeight+padding;this.legendItems.forEach((legendItem,i)=>{ctx.strokeStyle=legendItem.fontColor||fontColor,ctx.fillStyle=legendItem.fontColor||fontColor;let textWidth=ctx.measureText(legendItem.text).width,textAlign=rtlHelper.textAlign(legendItem.textAlign||(legendItem.textAlign=labelOpts.textAlign)),width=boxWidth+halfFontSize+textWidth,x=cursor.x,y=cursor.y;rtlHelper.setWidth(this.width),isHorizontal?i>0&&x+width+padding>this.right&&(y=cursor.y+=lineHeight,cursor.line++,x=cursor.x=_alignStartEnd(align,this.left+padding,this.right-lineWidths[cursor.line])):i>0&&y+lineHeight>this.bottom&&(x=cursor.x=x+columnSizes[cursor.line].width+padding,cursor.line++,y=cursor.y=_alignStartEnd(align,this.top+titleHeight+padding,this.bottom-columnSizes[cursor.line].height));let realX=rtlHelper.x(x);drawLegendBox(realX,y,legendItem),x=_textX(textAlign,x+boxWidth+halfFontSize,isHorizontal?x+width:this.right,opts.rtl),fillText(rtlHelper.x(x),y,legendItem),isHorizontal?cursor.x+=width+padding:cursor.y+=lineHeight}),restoreTextDirection(this.ctx,opts.textDirection)}drawTitle(){let opts=this.options,titleOpts=opts.title,titleFont=toFont(titleOpts.font),titlePadding=toPadding(titleOpts.padding);if(!titleOpts.display)return;let rtlHelper=getRtlAdapter(opts.rtl,this.left,this.width),ctx=this.ctx,position=titleOpts.position,halfFontSize=titleFont.size/2,topPaddingPlusHalfFontSize=titlePadding.top+halfFontSize,y,left=this.left,maxWidth=this.width;if(this.isHorizontal())maxWidth=Math.max(...this.lineWidths),y=this.top+topPaddingPlusHalfFontSize,left=_alignStartEnd(opts.align,left,this.right-maxWidth);else{let maxHeight=this.columnSizes.reduce((acc,size)=>Math.max(acc,size.height),0);y=topPaddingPlusHalfFontSize+_alignStartEnd(opts.align,this.top,this.bottom-maxHeight-opts.labels.padding-this._computeTitleHeight())}let x=_alignStartEnd(position,left,left+maxWidth);ctx.textAlign=rtlHelper.textAlign(_toLeftRightCenter(position)),ctx.textBaseline="middle",ctx.strokeStyle=titleOpts.color,ctx.fillStyle=titleOpts.color,ctx.font=titleFont.string,renderText(ctx,titleOpts.text,x,y,titleFont)}_computeTitleHeight(){let titleOpts=this.options.title,titleFont=toFont(titleOpts.font),titlePadding=toPadding(titleOpts.padding);return titleOpts.display?titleFont.lineHeight+titlePadding.height:0}_getLegendItemAt(x,y){let i,hitBox,lh;if(_isBetween(x,this.left,this.right)&&_isBetween(y,this.top,this.bottom)){for(lh=this.legendHitBoxes,i=0;ictx.chart.options.color,boxWidth:40,padding:10,generateLabels(chart2){let datasets=chart2.data.datasets,{labels:{usePointStyle,pointStyle,textAlign,color:color2}}=chart2.legend.options;return chart2._getSortedDatasetMetas().map(meta=>{let style=meta.controller.getStyle(usePointStyle?0:void 0),borderWidth=toPadding(style.borderWidth);return{text:datasets[meta.index].label,fillStyle:style.backgroundColor,fontColor:color2,hidden:!meta.visible,lineCap:style.borderCapStyle,lineDash:style.borderDash,lineDashOffset:style.borderDashOffset,lineJoin:style.borderJoinStyle,lineWidth:(borderWidth.width+borderWidth.height)/4,strokeStyle:style.borderColor,pointStyle:pointStyle||style.pointStyle,rotation:style.rotation,textAlign:textAlign||style.textAlign,borderRadius:0,datasetIndex:meta.index}},this)}},title:{color:ctx=>ctx.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:name=>!name.startsWith("on"),labels:{_scriptable:name=>!["generateLabels","filter","sort"].includes(name)}}},Title=class extends Element{constructor(config){super();this.chart=config.chart,this.options=config.options,this.ctx=config.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(maxWidth,maxHeight){let opts=this.options;if(this.left=0,this.top=0,!opts.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=maxWidth,this.height=this.bottom=maxHeight;let lineCount=isArray(opts.text)?opts.text.length:1;this._padding=toPadding(opts.padding);let textSize=lineCount*toFont(opts.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=textSize:this.width=textSize}isHorizontal(){let pos=this.options.position;return pos==="top"||pos==="bottom"}_drawArgs(offset){let{top,left,bottom,right,options}=this,align=options.align,rotation=0,maxWidth,titleX,titleY;return this.isHorizontal()?(titleX=_alignStartEnd(align,left,right),titleY=top+offset,maxWidth=right-left):(options.position==="left"?(titleX=left+offset,titleY=_alignStartEnd(align,bottom,top),rotation=PI*-.5):(titleX=right-offset,titleY=_alignStartEnd(align,top,bottom),rotation=PI*.5),maxWidth=bottom-top),{titleX,titleY,maxWidth,rotation}}draw(){let ctx=this.ctx,opts=this.options;if(!opts.display)return;let fontOpts=toFont(opts.font),offset=fontOpts.lineHeight/2+this._padding.top,{titleX,titleY,maxWidth,rotation}=this._drawArgs(offset);renderText(ctx,opts.text,0,0,fontOpts,{color:opts.color,maxWidth,rotation,textAlign:_toLeftRightCenter(opts.align),textBaseline:"middle",translation:[titleX,titleY]})}};function createTitle(chart2,titleOpts){let title=new Title({ctx:chart2.ctx,options:titleOpts,chart:chart2});layouts.configure(chart2,title,titleOpts),layouts.addBox(chart2,title),chart2.titleBlock=title}var plugin_title={id:"title",_element:Title,start(chart2,_args,options){createTitle(chart2,options)},stop(chart2){let titleBlock=chart2.titleBlock;layouts.removeBox(chart2,titleBlock),delete chart2.titleBlock},beforeUpdate(chart2,_args,options){let title=chart2.titleBlock;layouts.configure(chart2,title,options),title.options=options},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},map2=new WeakMap,plugin_subtitle={id:"subtitle",start(chart2,_args,options){let title=new Title({ctx:chart2.ctx,options,chart:chart2});layouts.configure(chart2,title,options),layouts.addBox(chart2,title),map2.set(chart2,title)},stop(chart2){layouts.removeBox(chart2,map2.get(chart2)),map2.delete(chart2)},beforeUpdate(chart2,_args,options){let title=map2.get(chart2);layouts.configure(chart2,title,options),title.options=options},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},positioners={average(items){if(!items.length)return!1;let i,len,x=0,y=0,count=0;for(i=0,len=items.length;i-1?str.split(` +`):str}function createTooltipItem(chart2,item){let{element,datasetIndex,index:index2}=item,controller=chart2.getDatasetMeta(datasetIndex).controller,{label,value}=controller.getLabelAndValue(index2);return{chart:chart2,label,parsed:controller.getParsed(index2),raw:chart2.data.datasets[datasetIndex].data[index2],formattedValue:value,dataset:controller.getDataset(),dataIndex:index2,datasetIndex,element}}function getTooltipSize(tooltip,options){let ctx=tooltip.chart.ctx,{body,footer,title}=tooltip,{boxWidth,boxHeight}=options,bodyFont=toFont(options.bodyFont),titleFont=toFont(options.titleFont),footerFont=toFont(options.footerFont),titleLineCount=title.length,footerLineCount=footer.length,bodyLineItemCount=body.length,padding=toPadding(options.padding),height=padding.height,width=0,combinedBodyLength=body.reduce((count,bodyItem)=>count+bodyItem.before.length+bodyItem.lines.length+bodyItem.after.length,0);if(combinedBodyLength+=tooltip.beforeBody.length+tooltip.afterBody.length,titleLineCount&&(height+=titleLineCount*titleFont.lineHeight+(titleLineCount-1)*options.titleSpacing+options.titleMarginBottom),combinedBodyLength){let bodyLineHeight=options.displayColors?Math.max(boxHeight,bodyFont.lineHeight):bodyFont.lineHeight;height+=bodyLineItemCount*bodyLineHeight+(combinedBodyLength-bodyLineItemCount)*bodyFont.lineHeight+(combinedBodyLength-1)*options.bodySpacing}footerLineCount&&(height+=options.footerMarginTop+footerLineCount*footerFont.lineHeight+(footerLineCount-1)*options.footerSpacing);let widthPadding=0,maxLineWidth=function(line){width=Math.max(width,ctx.measureText(line).width+widthPadding)};return ctx.save(),ctx.font=titleFont.string,each(tooltip.title,maxLineWidth),ctx.font=bodyFont.string,each(tooltip.beforeBody.concat(tooltip.afterBody),maxLineWidth),widthPadding=options.displayColors?boxWidth+2+options.boxPadding:0,each(body,bodyItem=>{each(bodyItem.before,maxLineWidth),each(bodyItem.lines,maxLineWidth),each(bodyItem.after,maxLineWidth)}),widthPadding=0,ctx.font=footerFont.string,each(tooltip.footer,maxLineWidth),ctx.restore(),width+=padding.width,{width,height}}function determineYAlign(chart2,size){let{y,height}=size;return ychart2.height-height/2?"bottom":"center"}function doesNotFitWithAlign(xAlign,chart2,options,size){let{x,width}=size,caret=options.caretSize+options.caretPadding;if(xAlign==="left"&&x+width+caret>chart2.width||xAlign==="right"&&x-width-caret<0)return!0}function determineXAlign(chart2,options,size,yAlign){let{x,width}=size,{width:chartWidth,chartArea:{left,right}}=chart2,xAlign="center";return yAlign==="center"?xAlign=x<=(left+right)/2?"left":"right":x<=width/2?xAlign="left":x>=chartWidth-width/2&&(xAlign="right"),doesNotFitWithAlign(xAlign,chart2,options,size)&&(xAlign="center"),xAlign}function determineAlignment(chart2,options,size){let yAlign=size.yAlign||options.yAlign||determineYAlign(chart2,size);return{xAlign:size.xAlign||options.xAlign||determineXAlign(chart2,options,size,yAlign),yAlign}}function alignX(size,xAlign){let{x,width}=size;return xAlign==="right"?x-=width:xAlign==="center"&&(x-=width/2),x}function alignY(size,yAlign,paddingAndSize){let{y,height}=size;return yAlign==="top"?y+=paddingAndSize:yAlign==="bottom"?y-=height+paddingAndSize:y-=height/2,y}function getBackgroundPoint(options,size,alignment,chart2){let{caretSize,caretPadding,cornerRadius}=options,{xAlign,yAlign}=alignment,paddingAndSize=caretSize+caretPadding,{topLeft,topRight,bottomLeft,bottomRight}=toTRBLCorners(cornerRadius),x=alignX(size,xAlign),y=alignY(size,yAlign,paddingAndSize);return yAlign==="center"?xAlign==="left"?x+=paddingAndSize:xAlign==="right"&&(x-=paddingAndSize):xAlign==="left"?x-=Math.max(topLeft,bottomLeft)+caretSize:xAlign==="right"&&(x+=Math.max(topRight,bottomRight)+caretSize),{x:_limitValue(x,0,chart2.width-size.width),y:_limitValue(y,0,chart2.height-size.height)}}function getAlignedX(tooltip,align,options){let padding=toPadding(options.padding);return align==="center"?tooltip.x+tooltip.width/2:align==="right"?tooltip.x+tooltip.width-padding.right:tooltip.x+padding.left}function getBeforeAfterBodyLines(callback2){return pushOrConcat([],splitNewlines(callback2))}function createTooltipContext(parent,tooltip,tooltipItems){return createContext(parent,{tooltip,tooltipItems,type:"tooltip"})}function overrideCallbacks(callbacks,context){let override=context&&context.dataset&&context.dataset.tooltip&&context.dataset.tooltip.callbacks;return override?callbacks.override(override):callbacks}var Tooltip=class extends Element{constructor(config){super();this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=config.chart||config._chart,this._chart=this.chart,this.options=config.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(options){this.options=options,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let cached=this._cachedAnimations;if(cached)return cached;let chart2=this.chart,options=this.options.setContext(this.getContext()),opts=options.enabled&&chart2.options.animation&&options.animations,animations=new Animations(this.chart,opts);return opts._cacheable&&(this._cachedAnimations=Object.freeze(animations)),animations}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(context,options){let{callbacks}=options,beforeTitle=callbacks.beforeTitle.apply(this,[context]),title=callbacks.title.apply(this,[context]),afterTitle=callbacks.afterTitle.apply(this,[context]),lines=[];return lines=pushOrConcat(lines,splitNewlines(beforeTitle)),lines=pushOrConcat(lines,splitNewlines(title)),lines=pushOrConcat(lines,splitNewlines(afterTitle)),lines}getBeforeBody(tooltipItems,options){return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this,[tooltipItems]))}getBody(tooltipItems,options){let{callbacks}=options,bodyItems=[];return each(tooltipItems,context=>{let bodyItem={before:[],lines:[],after:[]},scoped=overrideCallbacks(callbacks,context);pushOrConcat(bodyItem.before,splitNewlines(scoped.beforeLabel.call(this,context))),pushOrConcat(bodyItem.lines,scoped.label.call(this,context)),pushOrConcat(bodyItem.after,splitNewlines(scoped.afterLabel.call(this,context))),bodyItems.push(bodyItem)}),bodyItems}getAfterBody(tooltipItems,options){return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this,[tooltipItems]))}getFooter(tooltipItems,options){let{callbacks}=options,beforeFooter=callbacks.beforeFooter.apply(this,[tooltipItems]),footer=callbacks.footer.apply(this,[tooltipItems]),afterFooter=callbacks.afterFooter.apply(this,[tooltipItems]),lines=[];return lines=pushOrConcat(lines,splitNewlines(beforeFooter)),lines=pushOrConcat(lines,splitNewlines(footer)),lines=pushOrConcat(lines,splitNewlines(afterFooter)),lines}_createItems(options){let active=this._active,data=this.chart.data,labelColors=[],labelPointStyles=[],labelTextColors=[],tooltipItems=[],i,len;for(i=0,len=active.length;ioptions.filter(element,index2,array,data))),options.itemSort&&(tooltipItems=tooltipItems.sort((a,b)=>options.itemSort(a,b,data))),each(tooltipItems,context=>{let scoped=overrideCallbacks(options.callbacks,context);labelColors.push(scoped.labelColor.call(this,context)),labelPointStyles.push(scoped.labelPointStyle.call(this,context)),labelTextColors.push(scoped.labelTextColor.call(this,context))}),this.labelColors=labelColors,this.labelPointStyles=labelPointStyles,this.labelTextColors=labelTextColors,this.dataPoints=tooltipItems,tooltipItems}update(changed,replay){let options=this.options.setContext(this.getContext()),active=this._active,properties,tooltipItems=[];if(!active.length)this.opacity!==0&&(properties={opacity:0});else{let position=positioners[options.position].call(this,active,this._eventPosition);tooltipItems=this._createItems(options),this.title=this.getTitle(tooltipItems,options),this.beforeBody=this.getBeforeBody(tooltipItems,options),this.body=this.getBody(tooltipItems,options),this.afterBody=this.getAfterBody(tooltipItems,options),this.footer=this.getFooter(tooltipItems,options);let size=this._size=getTooltipSize(this,options),positionAndSize=Object.assign({},position,size),alignment=determineAlignment(this.chart,options,positionAndSize),backgroundPoint=getBackgroundPoint(options,positionAndSize,alignment,this.chart);this.xAlign=alignment.xAlign,this.yAlign=alignment.yAlign,properties={opacity:1,x:backgroundPoint.x,y:backgroundPoint.y,width:size.width,height:size.height,caretX:position.x,caretY:position.y}}this._tooltipItems=tooltipItems,this.$context=void 0,properties&&this._resolveAnimations().update(this,properties),changed&&options.external&&options.external.call(this,{chart:this.chart,tooltip:this,replay})}drawCaret(tooltipPoint,ctx,size,options){let caretPosition=this.getCaretPosition(tooltipPoint,size,options);ctx.lineTo(caretPosition.x1,caretPosition.y1),ctx.lineTo(caretPosition.x2,caretPosition.y2),ctx.lineTo(caretPosition.x3,caretPosition.y3)}getCaretPosition(tooltipPoint,size,options){let{xAlign,yAlign}=this,{caretSize,cornerRadius}=options,{topLeft,topRight,bottomLeft,bottomRight}=toTRBLCorners(cornerRadius),{x:ptX,y:ptY}=tooltipPoint,{width,height}=size,x1,x2,x3,y1,y2,y3;return yAlign==="center"?(y2=ptY+height/2,xAlign==="left"?(x1=ptX,x2=x1-caretSize,y1=y2+caretSize,y3=y2-caretSize):(x1=ptX+width,x2=x1+caretSize,y1=y2-caretSize,y3=y2+caretSize),x3=x1):(xAlign==="left"?x2=ptX+Math.max(topLeft,bottomLeft)+caretSize:xAlign==="right"?x2=ptX+width-Math.max(topRight,bottomRight)-caretSize:x2=this.caretX,yAlign==="top"?(y1=ptY,y2=y1-caretSize,x1=x2-caretSize,x3=x2+caretSize):(y1=ptY+height,y2=y1+caretSize,x1=x2+caretSize,x3=x2-caretSize),y3=y1),{x1,x2,x3,y1,y2,y3}}drawTitle(pt,ctx,options){let title=this.title,length=title.length,titleFont,titleSpacing,i;if(length){let rtlHelper=getRtlAdapter(options.rtl,this.x,this.width);for(pt.x=getAlignedX(this,options.titleAlign,options),ctx.textAlign=rtlHelper.textAlign(options.titleAlign),ctx.textBaseline="middle",titleFont=toFont(options.titleFont),titleSpacing=options.titleSpacing,ctx.fillStyle=options.titleColor,ctx.font=titleFont.string,i=0;iv!==0)?(ctx.beginPath(),ctx.fillStyle=options.multiKeyBackground,addRoundedRectPath(ctx,{x:outerX,y:colorY,w:boxWidth,h:boxHeight,radius:borderRadius}),ctx.fill(),ctx.stroke(),ctx.fillStyle=labelColors.backgroundColor,ctx.beginPath(),addRoundedRectPath(ctx,{x:innerX,y:colorY+1,w:boxWidth-2,h:boxHeight-2,radius:borderRadius}),ctx.fill()):(ctx.fillStyle=options.multiKeyBackground,ctx.fillRect(outerX,colorY,boxWidth,boxHeight),ctx.strokeRect(outerX,colorY,boxWidth,boxHeight),ctx.fillStyle=labelColors.backgroundColor,ctx.fillRect(innerX,colorY+1,boxWidth-2,boxHeight-2))}ctx.fillStyle=this.labelTextColors[i]}drawBody(pt,ctx,options){let{body}=this,{bodySpacing,bodyAlign,displayColors,boxHeight,boxWidth,boxPadding}=options,bodyFont=toFont(options.bodyFont),bodyLineHeight=bodyFont.lineHeight,xLinePadding=0,rtlHelper=getRtlAdapter(options.rtl,this.x,this.width),fillLineOfText=function(line){ctx.fillText(line,rtlHelper.x(pt.x+xLinePadding),pt.y+bodyLineHeight/2),pt.y+=bodyLineHeight+bodySpacing},bodyAlignForCalculation=rtlHelper.textAlign(bodyAlign),bodyItem,textColor,lines,i,j,ilen,jlen;for(ctx.textAlign=bodyAlign,ctx.textBaseline="middle",ctx.font=bodyFont.string,pt.x=getAlignedX(this,bodyAlignForCalculation,options),ctx.fillStyle=options.bodyColor,each(this.beforeBody,fillLineOfText),xLinePadding=displayColors&&bodyAlignForCalculation!=="right"?bodyAlign==="center"?boxWidth/2+boxPadding:boxWidth+2+boxPadding:0,i=0,ilen=body.length;i0&&ctx.stroke()}_updateAnimationTarget(options){let chart2=this.chart,anims=this.$animations,animX=anims&&anims.x,animY=anims&&anims.y;if(animX||animY){let position=positioners[options.position].call(this,this._active,this._eventPosition);if(!position)return;let size=this._size=getTooltipSize(this,options),positionAndSize=Object.assign({},position,this._size),alignment=determineAlignment(chart2,options,positionAndSize),point=getBackgroundPoint(options,positionAndSize,alignment,chart2);(animX._to!==point.x||animY._to!==point.y)&&(this.xAlign=alignment.xAlign,this.yAlign=alignment.yAlign,this.width=size.width,this.height=size.height,this.caretX=position.x,this.caretY=position.y,this._resolveAnimations().update(this,point))}}_willRender(){return!!this.opacity}draw(ctx){let options=this.options.setContext(this.getContext()),opacity=this.opacity;if(!opacity)return;this._updateAnimationTarget(options);let tooltipSize={width:this.width,height:this.height},pt={x:this.x,y:this.y};opacity=Math.abs(opacity)<.001?0:opacity;let padding=toPadding(options.padding),hasTooltipContent=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;options.enabled&&hasTooltipContent&&(ctx.save(),ctx.globalAlpha=opacity,this.drawBackground(pt,ctx,tooltipSize,options),overrideTextDirection(ctx,options.textDirection),pt.y+=padding.top,this.drawTitle(pt,ctx,options),this.drawBody(pt,ctx,options),this.drawFooter(pt,ctx,options),restoreTextDirection(ctx,options.textDirection),ctx.restore())}getActiveElements(){return this._active||[]}setActiveElements(activeElements,eventPosition){let lastActive=this._active,active=activeElements.map(({datasetIndex,index:index2})=>{let meta=this.chart.getDatasetMeta(datasetIndex);if(!meta)throw new Error("Cannot find a dataset at index "+datasetIndex);return{datasetIndex,element:meta.data[index2],index:index2}}),changed=!_elementsEqual(lastActive,active),positionChanged=this._positionChanged(active,eventPosition);(changed||positionChanged)&&(this._active=active,this._eventPosition=eventPosition,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,replay,inChartArea=!0){if(replay&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let options=this.options,lastActive=this._active||[],active=this._getActiveElements(e,lastActive,replay,inChartArea),positionChanged=this._positionChanged(active,e),changed=replay||!_elementsEqual(active,lastActive)||positionChanged;return changed&&(this._active=active,(options.enabled||options.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,replay))),changed}_getActiveElements(e,lastActive,replay,inChartArea){let options=this.options;if(e.type==="mouseout")return[];if(!inChartArea)return lastActive;let active=this.chart.getElementsAtEventForMode(e,options.mode,options,replay);return options.reverse&&active.reverse(),active}_positionChanged(active,e){let{caretX,caretY,options}=this,position=positioners[options.position].call(this,active,e);return position!==!1&&(caretX!==position.x||caretY!==position.y)}};Tooltip.positioners=positioners;var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(chart2,_args,options){options&&(chart2.tooltip=new Tooltip({chart:chart2,options}))},beforeUpdate(chart2,_args,options){chart2.tooltip&&chart2.tooltip.initialize(options)},reset(chart2,_args,options){chart2.tooltip&&chart2.tooltip.initialize(options)},afterDraw(chart2){let tooltip=chart2.tooltip;if(tooltip&&tooltip._willRender()){let args={tooltip};if(chart2.notifyPlugins("beforeTooltipDraw",args)===!1)return;tooltip.draw(chart2.ctx),chart2.notifyPlugins("afterTooltipDraw",args)}},afterEvent(chart2,args){if(chart2.tooltip){let useFinalPosition=args.replay;chart2.tooltip.handleEvent(args.event,useFinalPosition,args.inChartArea)&&(args.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(ctx,opts)=>opts.bodyFont.size,boxWidth:(ctx,opts)=>opts.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:noop,title(tooltipItems){if(tooltipItems.length>0){let item=tooltipItems[0],labels=item.chart.data.labels,labelCount=labels?labels.length:0;if(this&&this.options&&this.options.mode==="dataset")return item.dataset.label||"";if(item.label)return item.label;if(labelCount>0&&item.dataIndexname!=="filter"&&name!=="itemSort"&&name!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Decimation:plugin_decimation,Filler:index,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip}),addIfString=(labels,raw,index2,addedLabels)=>(typeof raw=="string"?(index2=labels.push(raw)-1,addedLabels.unshift({index:index2,label:raw})):isNaN(raw)&&(index2=null),index2);function findOrAddLabel(labels,raw,index2,addedLabels){let first=labels.indexOf(raw);if(first===-1)return addIfString(labels,raw,index2,addedLabels);let last=labels.lastIndexOf(raw);return first!==last?index2:first}var validIndex=(index2,max)=>index2===null?null:_limitValue(Math.round(index2),0,max),CategoryScale=class extends Scale{constructor(cfg){super(cfg);this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(scaleOptions){let added=this._addedLabels;if(added.length){let labels=this.getLabels();for(let{index:index2,label}of added)labels[index2]===label&&labels.splice(index2,1);this._addedLabels=[]}super.init(scaleOptions)}parse(raw,index2){if(isNullOrUndef(raw))return null;let labels=this.getLabels();return index2=isFinite(index2)&&labels[index2]===raw?index2:findOrAddLabel(labels,raw,valueOrDefault(index2,raw),this._addedLabels),validIndex(index2,labels.length-1)}determineDataLimits(){let{minDefined,maxDefined}=this.getUserBounds(),{min,max}=this.getMinMax(!0);this.options.bounds==="ticks"&&(minDefined||(min=0),maxDefined||(max=this.getLabels().length-1)),this.min=min,this.max=max}buildTicks(){let min=this.min,max=this.max,offset=this.options.offset,ticks=[],labels=this.getLabels();labels=min===0&&max===labels.length-1?labels:labels.slice(min,max+1),this._valueRange=Math.max(labels.length-(offset?0:1),1),this._startValue=this.min-(offset?.5:0);for(let value=min;value<=max;value++)ticks.push({value});return ticks}getLabelForValue(value){let labels=this.getLabels();return value>=0&&valueticks.length-1?null:this.getPixelForValue(ticks[index2].value)}getValueForPixel(pixel){return Math.round(this._startValue+this.getDecimalForPixel(pixel)*this._valueRange)}getBasePixel(){return this.bottom}};CategoryScale.id="category";CategoryScale.defaults={ticks:{callback:CategoryScale.prototype.getLabelForValue}};function generateTicks$1(generationOptions,dataRange){let ticks=[],MIN_SPACING=1e-14,{bounds,step,min,max,precision,count,maxTicks,maxDigits,includeBounds}=generationOptions,unit=step||1,maxSpaces=maxTicks-1,{min:rmin,max:rmax}=dataRange,minDefined=!isNullOrUndef(min),maxDefined=!isNullOrUndef(max),countDefined=!isNullOrUndef(count),minSpacing=(rmax-rmin)/(maxDigits+1),spacing=niceNum((rmax-rmin)/maxSpaces/unit)*unit,factor,niceMin,niceMax,numSpaces;if(spacingmaxSpaces&&(spacing=niceNum(numSpaces*spacing/maxSpaces/unit)*unit),isNullOrUndef(precision)||(factor=Math.pow(10,precision),spacing=Math.ceil(spacing*factor)/factor),bounds==="ticks"?(niceMin=Math.floor(rmin/spacing)*spacing,niceMax=Math.ceil(rmax/spacing)*spacing):(niceMin=rmin,niceMax=rmax),minDefined&&maxDefined&&step&&almostWhole((max-min)/step,spacing/1e3)?(numSpaces=Math.round(Math.min((max-min)/spacing,maxTicks)),spacing=(max-min)/numSpaces,niceMin=min,niceMax=max):countDefined?(niceMin=minDefined?min:niceMin,niceMax=maxDefined?max:niceMax,numSpaces=count-1,spacing=(niceMax-niceMin)/numSpaces):(numSpaces=(niceMax-niceMin)/spacing,almostEquals(numSpaces,Math.round(numSpaces),spacing/1e3)?numSpaces=Math.round(numSpaces):numSpaces=Math.ceil(numSpaces));let decimalPlaces=Math.max(_decimalPlaces(spacing),_decimalPlaces(niceMin));factor=Math.pow(10,isNullOrUndef(precision)?decimalPlaces:precision),niceMin=Math.round(niceMin*factor)/factor,niceMax=Math.round(niceMax*factor)/factor;let j=0;for(minDefined&&(includeBounds&&niceMin!==min?(ticks.push({value:min}),niceMinmin=minDefined?min:v,setMax=v=>max=maxDefined?max:v;if(beginAtZero){let minSign=sign(min),maxSign=sign(max);minSign<0&&maxSign<0?setMax(0):minSign>0&&maxSign>0&&setMin(0)}if(min===max){let offset=1;(max>=Number.MAX_SAFE_INTEGER||min<=Number.MIN_SAFE_INTEGER)&&(offset=Math.abs(max*.05)),setMax(max+offset),beginAtZero||setMin(min-offset)}this.min=min,this.max=max}getTickLimit(){let tickOpts=this.options.ticks,{maxTicksLimit,stepSize}=tickOpts,maxTicks;return stepSize?(maxTicks=Math.ceil(this.max/stepSize)-Math.floor(this.min/stepSize)+1,maxTicks>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`),maxTicks=1e3)):(maxTicks=this.computeTickLimit(),maxTicksLimit=maxTicksLimit||11),maxTicksLimit&&(maxTicks=Math.min(maxTicksLimit,maxTicks)),maxTicks}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let opts=this.options,tickOpts=opts.ticks,maxTicks=this.getTickLimit();maxTicks=Math.max(2,maxTicks);let numericGeneratorOptions={maxTicks,bounds:opts.bounds,min:opts.min,max:opts.max,precision:tickOpts.precision,step:tickOpts.stepSize,count:tickOpts.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:tickOpts.minRotation||0,includeBounds:tickOpts.includeBounds!==!1},dataRange=this._range||this,ticks=generateTicks$1(numericGeneratorOptions,dataRange);return opts.bounds==="ticks"&&_setMinAndMaxByKey(ticks,this,"value"),opts.reverse?(ticks.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),ticks}configure(){let ticks=this.ticks,start=this.min,end=this.max;if(super.configure(),this.options.offset&&ticks.length){let offset=(end-start)/Math.max(ticks.length-1,1)/2;start-=offset,end+=offset}this._startValue=start,this._endValue=end,this._valueRange=end-start}getLabelForValue(value){return formatNumber(value,this.chart.options.locale,this.options.ticks.format)}},LinearScale=class extends LinearScaleBase{determineDataLimits(){let{min,max}=this.getMinMax(!0);this.min=isNumberFinite(min)?min:0,this.max=isNumberFinite(max)?max:1,this.handleTickRangeOptions()}computeTickLimit(){let horizontal=this.isHorizontal(),length=horizontal?this.width:this.height,minRotation=toRadians(this.options.ticks.minRotation),ratio=(horizontal?Math.sin(minRotation):Math.cos(minRotation))||.001,tickFont=this._resolveTickFontOptions(0);return Math.ceil(length/Math.min(40,tickFont.lineHeight/ratio))}getPixelForValue(value){return value===null?NaN:this.getPixelForDecimal((value-this._startValue)/this._valueRange)}getValueForPixel(pixel){return this._startValue+this.getDecimalForPixel(pixel)*this._valueRange}};LinearScale.id="linear";LinearScale.defaults={ticks:{callback:Ticks.formatters.numeric}};function isMajor(tickVal){return tickVal/Math.pow(10,Math.floor(log10(tickVal)))===1}function generateTicks(generationOptions,dataRange){let endExp=Math.floor(log10(dataRange.max)),endSignificand=Math.ceil(dataRange.max/Math.pow(10,endExp)),ticks=[],tickVal=finiteOrDefault(generationOptions.min,Math.pow(10,Math.floor(log10(dataRange.min)))),exp=Math.floor(log10(tickVal)),significand=Math.floor(tickVal/Math.pow(10,exp)),precision=exp<0?Math.pow(10,Math.abs(exp)):1;do ticks.push({value:tickVal,major:isMajor(tickVal)}),++significand,significand===10&&(significand=1,++exp,precision=exp>=0?1:precision),tickVal=Math.round(significand*Math.pow(10,exp)*precision)/precision;while(exp0?value:null}determineDataLimits(){let{min,max}=this.getMinMax(!0);this.min=isNumberFinite(min)?Math.max(0,min):null,this.max=isNumberFinite(max)?Math.max(0,max):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined,maxDefined}=this.getUserBounds(),min=this.min,max=this.max,setMin=v=>min=minDefined?min:v,setMax=v=>max=maxDefined?max:v,exp=(v,m)=>Math.pow(10,Math.floor(log10(v))+m);min===max&&(min<=0?(setMin(1),setMax(10)):(setMin(exp(min,-1)),setMax(exp(max,1)))),min<=0&&setMin(exp(max,-1)),max<=0&&setMax(exp(min,1)),this._zero&&this.min!==this._suggestedMin&&min===exp(this.min,0)&&setMin(exp(min,-1)),this.min=min,this.max=max}buildTicks(){let opts=this.options,generationOptions={min:this._userMin,max:this._userMax},ticks=generateTicks(generationOptions,this);return opts.bounds==="ticks"&&_setMinAndMaxByKey(ticks,this,"value"),opts.reverse?(ticks.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),ticks}getLabelForValue(value){return value===void 0?"0":formatNumber(value,this.chart.options.locale,this.options.ticks.format)}configure(){let start=this.min;super.configure(),this._startValue=log10(start),this._valueRange=log10(this.max)-log10(start)}getPixelForValue(value){return(value===void 0||value===0)&&(value=this.min),value===null||isNaN(value)?NaN:this.getPixelForDecimal(value===this.min?0:(log10(value)-this._startValue)/this._valueRange)}getValueForPixel(pixel){let decimal=this.getDecimalForPixel(pixel);return Math.pow(10,this._startValue+decimal*this._valueRange)}};LogarithmicScale.id="logarithmic";LogarithmicScale.defaults={ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}};function getTickBackdropHeight(opts){let tickOpts=opts.ticks;if(tickOpts.display&&opts.display){let padding=toPadding(tickOpts.backdropPadding);return valueOrDefault(tickOpts.font&&tickOpts.font.size,defaults.font.size)+padding.height}return 0}function measureLabelSize(ctx,font,label){return label=isArray(label)?label:[label],{w:_longestText(ctx,font.string,label),h:label.length*font.lineHeight}}function determineLimits(angle,pos,size,min,max){return angle===min||angle===max?{start:pos-size/2,end:pos+size/2}:anglemax?{start:pos-size,end:pos}:{start:pos,end:pos+size}}function fitWithPointLabels(scale){let orig={l:scale.left+scale._padding.left,r:scale.right-scale._padding.right,t:scale.top+scale._padding.top,b:scale.bottom-scale._padding.bottom},limits=Object.assign({},orig),labelSizes=[],padding=[],valueCount=scale._pointLabels.length,pointLabelOpts=scale.options.pointLabels,additionalAngle=pointLabelOpts.centerPointLabels?PI/valueCount:0;for(let i=0;iorig.r&&(x=(hLimits.end-orig.r)/sin,limits.r=Math.max(limits.r,orig.r+x)),vLimits.startorig.b&&(y=(vLimits.end-orig.b)/cos,limits.b=Math.max(limits.b,orig.b+y))}function buildPointLabelItems(scale,labelSizes,padding){let items=[],valueCount=scale._pointLabels.length,opts=scale.options,extra=getTickBackdropHeight(opts)/2,outerDistance=scale.drawingArea,additionalAngle=opts.pointLabels.centerPointLabels?PI/valueCount:0;for(let i=0;i270||angle<90)&&(y-=h),y}function drawPointLabels(scale,labelCount){let{ctx,options:{pointLabels}}=scale;for(let i=labelCount-1;i>=0;i--){let optsAtIndex=pointLabels.setContext(scale.getPointLabelContext(i)),plFont=toFont(optsAtIndex.font),{x,y,textAlign,left,top,right,bottom}=scale._pointLabelItems[i],{backdropColor}=optsAtIndex;if(!isNullOrUndef(backdropColor)){let borderRadius=toTRBLCorners(optsAtIndex.borderRadius),padding=toPadding(optsAtIndex.backdropPadding);ctx.fillStyle=backdropColor;let backdropLeft=left-padding.left,backdropTop=top-padding.top,backdropWidth=right-left+padding.width,backdropHeight=bottom-top+padding.height;Object.values(borderRadius).some(v=>v!==0)?(ctx.beginPath(),addRoundedRectPath(ctx,{x:backdropLeft,y:backdropTop,w:backdropWidth,h:backdropHeight,radius:borderRadius}),ctx.fill()):ctx.fillRect(backdropLeft,backdropTop,backdropWidth,backdropHeight)}renderText(ctx,scale._pointLabels[i],x,y+plFont.lineHeight/2,plFont,{color:optsAtIndex.color,textAlign,textBaseline:"middle"})}}function pathRadiusLine(scale,radius,circular,labelCount){let{ctx}=scale;if(circular)ctx.arc(scale.xCenter,scale.yCenter,radius,0,TAU);else{let pointPosition=scale.getPointPosition(0,radius);ctx.moveTo(pointPosition.x,pointPosition.y);for(let i=1;i{let label=callback(this.options.pointLabels.callback,[value,index2],this);return label||label===0?label:""}).filter((v,i)=>this.chart.getDataVisibility(i))}fit(){let opts=this.options;opts.display&&opts.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(leftMovement,rightMovement,topMovement,bottomMovement){this.xCenter+=Math.floor((leftMovement-rightMovement)/2),this.yCenter+=Math.floor((topMovement-bottomMovement)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(leftMovement,rightMovement,topMovement,bottomMovement))}getIndexAngle(index2){let angleMultiplier=TAU/(this._pointLabels.length||1),startAngle=this.options.startAngle||0;return _normalizeAngle(index2*angleMultiplier+toRadians(startAngle))}getDistanceFromCenterForValue(value){if(isNullOrUndef(value))return NaN;let scalingFactor=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-value)*scalingFactor:(value-this.min)*scalingFactor}getValueForDistanceFromCenter(distance){if(isNullOrUndef(distance))return NaN;let scaledDistance=distance/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-scaledDistance:this.min+scaledDistance}getPointLabelContext(index2){let pointLabels=this._pointLabels||[];if(index2>=0&&index2{if(index2!==0){offset=this.getDistanceFromCenterForValue(tick.value);let optsAtIndex=grid.setContext(this.getContext(index2-1));drawRadiusLine(this,optsAtIndex,offset,labelCount)}}),angleLines.display){for(ctx.save(),i=labelCount-1;i>=0;i--){let optsAtIndex=angleLines.setContext(this.getPointLabelContext(i)),{color:color2,lineWidth}=optsAtIndex;!lineWidth||!color2||(ctx.lineWidth=lineWidth,ctx.strokeStyle=color2,ctx.setLineDash(optsAtIndex.borderDash),ctx.lineDashOffset=optsAtIndex.borderDashOffset,offset=this.getDistanceFromCenterForValue(opts.ticks.reverse?this.min:this.max),position=this.getPointPosition(i,offset),ctx.beginPath(),ctx.moveTo(this.xCenter,this.yCenter),ctx.lineTo(position.x,position.y),ctx.stroke())}ctx.restore()}}drawBorder(){}drawLabels(){let ctx=this.ctx,opts=this.options,tickOpts=opts.ticks;if(!tickOpts.display)return;let startAngle=this.getIndexAngle(0),offset,width;ctx.save(),ctx.translate(this.xCenter,this.yCenter),ctx.rotate(startAngle),ctx.textAlign="center",ctx.textBaseline="middle",this.ticks.forEach((tick,index2)=>{if(index2===0&&!opts.reverse)return;let optsAtIndex=tickOpts.setContext(this.getContext(index2)),tickFont=toFont(optsAtIndex.font);if(offset=this.getDistanceFromCenterForValue(this.ticks[index2].value),optsAtIndex.showLabelBackdrop){ctx.font=tickFont.string,width=ctx.measureText(tick.label).width,ctx.fillStyle=optsAtIndex.backdropColor;let padding=toPadding(optsAtIndex.backdropPadding);ctx.fillRect(-width/2-padding.left,-offset-tickFont.size/2-padding.top,width+padding.width,tickFont.size+padding.height)}renderText(ctx,tick.label,0,-offset,tickFont,{color:optsAtIndex.color})}),ctx.restore()}drawTitle(){}};RadialLinearScale.id="radialLinear";RadialLinearScale.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(label){return label},padding:5,centerPointLabels:!1}};RadialLinearScale.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};RadialLinearScale.descriptors={angleLines:{_fallback:"grid"}};var INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(a,b){return a-b}function parse(scale,input){if(isNullOrUndef(input))return null;let adapter=scale._adapter,{parser,round:round2,isoWeekday}=scale._parseOpts,value=input;return typeof parser=="function"&&(value=parser(value)),isNumberFinite(value)||(value=typeof parser=="string"?adapter.parse(value,parser):adapter.parse(value)),value===null?null:(round2&&(value=round2==="week"&&(isNumber(isoWeekday)||isoWeekday===!0)?adapter.startOf(value,"isoWeek",isoWeekday):adapter.startOf(value,round2)),+value)}function determineUnitForAutoTicks(minUnit,min,max,capacity){let ilen=UNITS.length;for(let i=UNITS.indexOf(minUnit);i=UNITS.indexOf(minUnit);i--){let unit=UNITS[i];if(INTERVALS[unit].common&&scale._adapter.diff(max,min,unit)>=numTicks-1)return unit}return UNITS[minUnit?UNITS.indexOf(minUnit):0]}function determineMajorUnit(unit){for(let i=UNITS.indexOf(unit)+1,ilen=UNITS.length;i=time?timestamps[lo]:timestamps[hi];ticks[timestamp]=!0}}function setMajorTicks(scale,ticks,map3,majorUnit){let adapter=scale._adapter,first=+adapter.startOf(ticks[0].value,majorUnit),last=ticks[ticks.length-1].value,major,index2;for(major=first;major<=last;major=+adapter.add(major,1,majorUnit))index2=map3[major],index2>=0&&(ticks[index2].major=!0);return ticks}function ticksFromTimestamps(scale,values,majorUnit){let ticks=[],map3={},ilen=values.length,i,value;for(i=0;i+tick.value))}initOffsets(timestamps){let start=0,end=0,first,last;this.options.offset&×tamps.length&&(first=this.getDecimalForValue(timestamps[0]),timestamps.length===1?start=1-first:start=(this.getDecimalForValue(timestamps[1])-first)/2,last=this.getDecimalForValue(timestamps[timestamps.length-1]),timestamps.length===1?end=last:end=(last-this.getDecimalForValue(timestamps[timestamps.length-2]))/2);let limit=timestamps.length<3?.5:.25;start=_limitValue(start,0,limit),end=_limitValue(end,0,limit),this._offsets={start,end,factor:1/(start+1+end)}}_generate(){let adapter=this._adapter,min=this.min,max=this.max,options=this.options,timeOpts=options.time,minor=timeOpts.unit||determineUnitForAutoTicks(timeOpts.minUnit,min,max,this._getLabelCapacity(min)),stepSize=valueOrDefault(timeOpts.stepSize,1),weekday=minor==="week"?timeOpts.isoWeekday:!1,hasWeekday=isNumber(weekday)||weekday===!0,ticks={},first=min,time,count;if(hasWeekday&&(first=+adapter.startOf(first,"isoWeek",weekday)),first=+adapter.startOf(first,hasWeekday?"day":minor),adapter.diff(max,min,minor)>1e5*stepSize)throw new Error(min+" and "+max+" are too far apart with stepSize of "+stepSize+" "+minor);let timestamps=options.ticks.source==="data"&&this.getDataTimestamps();for(time=first,count=0;timea-b).map(x=>+x)}getLabelForValue(value){let adapter=this._adapter,timeOpts=this.options.time;return timeOpts.tooltipFormat?adapter.format(value,timeOpts.tooltipFormat):adapter.format(value,timeOpts.displayFormats.datetime)}_tickFormatFunction(time,index2,ticks,format){let options=this.options,formats=options.time.displayFormats,unit=this._unit,majorUnit=this._majorUnit,minorFormat=unit&&formats[unit],majorFormat=majorUnit&&formats[majorUnit],tick=ticks[index2],major=majorUnit&&majorFormat&&tick&&tick.major,label=this._adapter.format(time,format||(major?majorFormat:minorFormat)),formatter=options.ticks.callback;return formatter?callback(formatter,[label,index2,ticks],this):label}generateTickLabels(ticks){let i,ilen,tick;for(i=0,ilen=ticks.length;i0?capacity:1}getDataTimestamps(){let timestamps=this._cache.data||[],i,ilen;if(timestamps.length)return timestamps;let metas=this.getMatchingVisibleMetas();if(this._normalized&&metas.length)return this._cache.data=metas[0].controller.getAllParsedValues(this);for(i=0,ilen=metas.length;i=table[lo].pos&&val<=table[hi].pos&&({lo,hi}=_lookupByKey(table,"pos",val)),{pos:prevSource,time:prevTarget}=table[lo],{pos:nextSource,time:nextTarget}=table[hi]):(val>=table[lo].time&&val<=table[hi].time&&({lo,hi}=_lookupByKey(table,"time",val)),{time:prevSource,pos:prevTarget}=table[lo],{time:nextSource,pos:nextTarget}=table[hi]);let span=nextSource-prevSource;return span?prevTarget+(nextTarget-prevTarget)*(val-prevSource)/span:prevTarget}var TimeSeriesScale=class extends TimeScale{constructor(props){super(props);this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let timestamps=this._getTimestampsForTable(),table=this._table=this.buildLookupTable(timestamps);this._minPos=interpolate2(table,this.min),this._tableRange=interpolate2(table,this.max)-this._minPos,super.initOffsets(timestamps)}buildLookupTable(timestamps){let{min,max}=this,items=[],table=[],i,ilen,prev,curr,next;for(i=0,ilen=timestamps.length;i=min&&curr<=max&&items.push(curr);if(items.length<2)return[{time:min,pos:0},{time:max,pos:1}];for(i=0,ilen=items.length;i{chart2.data=this.applyColorToData(data),chart2.update("resize")}),this.$wire.on("filterChartData",async({data})=>{chart2.destroy(),chart2=this.initChart(data)})},initChart:function(data=null){return this.chart=new auto_default(this.$refs.canvas,{type,data:this.applyColorToData(data??cachedData),options:options??{}})},applyColorToData:function(data){return data.datasets.forEach((dataset,datasetIndex)=>{dataset.backgroundColor||(data.datasets[datasetIndex].backgroundColor=getComputedStyle(this.$refs.backgroundColorElement).color),dataset.borderColor||(data.datasets[datasetIndex].borderColor=getComputedStyle(this.$refs.borderColorElement).color)}),data}}}export{chart as default}; +/*! + * @kurkle/color v0.2.1 + * https://github.com/kurkle/color#readme + * (c) 2022 Jukka Kurkela + * Released under the MIT License + */ +/*! + * Chart.js v3.9.1 + * https://www.chartjs.org + * (c) 2022 Chart.js Contributors + * Released under the MIT License + */ diff --git a/packages/widgets/resources/js/components/chart.js b/packages/widgets/resources/js/components/chart.js new file mode 100644 index 0000000000..199b7d3240 --- /dev/null +++ b/packages/widgets/resources/js/components/chart.js @@ -0,0 +1,50 @@ +import Chart from 'chart.js/auto' + +Chart.defaults.font.family = `'DM Sans', sans-serif` +Chart.defaults.color = '#6b7280' + +export default function chart({ + cachedData, + options, + type, +}) { + return { + chart: null, + + init: function () { + let chart = this.initChart() + + this.$wire.on('updateChartData', async ({ data }) => { + chart.data = this.applyColorToData(data) + chart.update('resize') + }) + + this.$wire.on('filterChartData', async ({ data }) => { + chart.destroy() + chart = this.initChart(data) + }) + }, + + initChart: function (data = null) { + return this.chart = new Chart(this.$refs.canvas, { + type: type, + data: this.applyColorToData(data ?? cachedData), + options: options ?? {}, + }) + }, + + applyColorToData: function (data) { + data.datasets.forEach((dataset, datasetIndex) => { + if (! dataset.backgroundColor) { + data.datasets[datasetIndex].backgroundColor = getComputedStyle(this.$refs.backgroundColorElement).color + } + + if (! dataset.borderColor) { + data.datasets[datasetIndex].borderColor = getComputedStyle(this.$refs.borderColorElement).color + } + }) + + return data + }, + } +} diff --git a/packages/widgets/resources/views/chart-widget.blade.php b/packages/widgets/resources/views/chart-widget.blade.php new file mode 100644 index 0000000000..65dd55729f --- /dev/null +++ b/packages/widgets/resources/views/chart-widget.blade.php @@ -0,0 +1,68 @@ +@php + $heading = $this->getHeading(); + $filters = $this->getFilters(); +@endphp + + + + @if ($heading || $filters) +
+ @if ($heading) + + {{ $heading }} + + @endif + + @if ($filters) + + @endif +
+ + + @endif + +
getPollingInterval()) ? "wire:poll.{$pollingInterval}=\"updateChartData\"" : '' !!}> +
+ getMaxHeight()) + style="max-height: {{ $maxHeight }}" + @endif + > + + + + +
+
+
+
diff --git a/packages/widgets/resources/views/components/card/heading.blade.php b/packages/widgets/resources/views/components/card/heading.blade.php new file mode 100644 index 0000000000..0235cbe3ad --- /dev/null +++ b/packages/widgets/resources/views/components/card/heading.blade.php @@ -0,0 +1,3 @@ +

class(['text-xl font-semibold tracking-tight filament-card-heading']) }}> + {{ $slot }} +

diff --git a/packages/widgets/resources/views/components/card/index.blade.php b/packages/widgets/resources/views/components/card/index.blade.php new file mode 100644 index 0000000000..66032d7d45 --- /dev/null +++ b/packages/widgets/resources/views/components/card/index.blade.php @@ -0,0 +1,53 @@ +@props([ + 'actions' => null, + 'footer' => null, + 'header' => null, + 'heading' => null, +]) + +
class([ + 'p-2 space-y-2 bg-white rounded-xl shadow', + 'dark:border-gray-600 dark:bg-gray-800' => config('filament.dark_mode'), +]) }}> + @if ($actions || $header || $heading) +
+ @if ($header) + {{ $header }} + @elseif ($actions || $heading) +
+ + {{ $heading }} + + + @if ($actions) +
+ {{ $actions }} +
+ @endif +
+ @endif +
+ @endif + + @if (($actions || $header || $heading) && $slot->isNotEmpty()) + + @endif + +
+ @if ($slot->isNotEmpty()) +
+ {{ $slot }} +
+ @endif +
+ + @if ($footer && $slot->isNotEmpty()) + + @endif + + @if ($footer) +
+ {{ $footer }} +
+ @endif +
diff --git a/packages/widgets/resources/views/components/hr.blade.php b/packages/widgets/resources/views/components/hr.blade.php new file mode 100644 index 0000000000..eee70d3643 --- /dev/null +++ b/packages/widgets/resources/views/components/hr.blade.php @@ -0,0 +1,4 @@ + diff --git a/packages/app/resources/views/components/stats/card.blade.php b/packages/widgets/resources/views/components/stats/card.blade.php similarity index 100% rename from packages/app/resources/views/components/stats/card.blade.php rename to packages/widgets/resources/views/components/stats/card.blade.php diff --git a/packages/app/resources/views/components/stats/index.blade.php b/packages/widgets/resources/views/components/stats/index.blade.php similarity index 100% rename from packages/app/resources/views/components/stats/index.blade.php rename to packages/widgets/resources/views/components/stats/index.blade.php diff --git a/packages/app/resources/views/components/widget.blade.php b/packages/widgets/resources/views/components/widget.blade.php similarity index 100% rename from packages/app/resources/views/components/widget.blade.php rename to packages/widgets/resources/views/components/widget.blade.php diff --git a/packages/app/resources/views/components/widgets.blade.php b/packages/widgets/resources/views/components/widgets.blade.php similarity index 100% rename from packages/app/resources/views/components/widgets.blade.php rename to packages/widgets/resources/views/components/widgets.blade.php diff --git a/packages/app/resources/views/widgets/stats-overview-widget.blade.php b/packages/widgets/resources/views/stats-overview-widget.blade.php similarity index 52% rename from packages/app/resources/views/widgets/stats-overview-widget.blade.php rename to packages/widgets/resources/views/stats-overview-widget.blade.php index 47f4662a99..f99c36e469 100644 --- a/packages/app/resources/views/widgets/stats-overview-widget.blade.php +++ b/packages/widgets/resources/views/stats-overview-widget.blade.php @@ -1,9 +1,9 @@ - +
getPollingInterval()) ? "wire:poll.{$pollingInterval}" : '' !!}> - + @foreach ($this->getCachedCards() as $card) {{ $card }} @endforeach - +
-
+ diff --git a/packages/app/resources/views/widgets/stats-overview-widget/card.blade.php b/packages/widgets/resources/views/stats-overview-widget/card.blade.php similarity index 94% rename from packages/app/resources/views/widgets/stats-overview-widget/card.blade.php rename to packages/widgets/resources/views/stats-overview-widget/card.blade.php index b40d30b55a..a5947347b7 100644 --- a/packages/app/resources/views/widgets/stats-overview-widget/card.blade.php +++ b/packages/widgets/resources/views/stats-overview-widget/card.blade.php @@ -2,7 +2,7 @@ $url = $getUrl(); @endphp - + {{ $this->table }} + diff --git a/packages/app/src/Widgets/BarChartWidget.php b/packages/widgets/src/BarChartWidget.php similarity index 100% rename from packages/app/src/Widgets/BarChartWidget.php rename to packages/widgets/src/BarChartWidget.php diff --git a/packages/app/src/Widgets/BubbleChartWidget.php b/packages/widgets/src/BubbleChartWidget.php similarity index 100% rename from packages/app/src/Widgets/BubbleChartWidget.php rename to packages/widgets/src/BubbleChartWidget.php diff --git a/packages/app/src/Widgets/ChartWidget.php b/packages/widgets/src/ChartWidget.php similarity index 96% rename from packages/app/src/Widgets/ChartWidget.php rename to packages/widgets/src/ChartWidget.php index 056b7934f3..985cdff87c 100644 --- a/packages/app/src/Widgets/ChartWidget.php +++ b/packages/widgets/src/ChartWidget.php @@ -18,7 +18,7 @@ class ChartWidget extends Widget protected static ?array $options = null; - protected static string $view = 'filament::widgets.chart-widget'; + protected static string $view = 'filament-widgets::chart-widget'; public function mount() { diff --git a/packages/app/src/Commands/Aliases/MakeWidgetCommand.php b/packages/widgets/src/Commands/Aliases/MakeWidgetCommand.php similarity index 75% rename from packages/app/src/Commands/Aliases/MakeWidgetCommand.php rename to packages/widgets/src/Commands/Aliases/MakeWidgetCommand.php index 3f774dfd23..151e2542ef 100644 --- a/packages/app/src/Commands/Aliases/MakeWidgetCommand.php +++ b/packages/widgets/src/Commands/Aliases/MakeWidgetCommand.php @@ -1,8 +1,8 @@ data()); + return view('filament-widgets::stats-overview-widget.card', $this->data()); } } diff --git a/packages/app/src/Widgets/TableWidget.php b/packages/widgets/src/TableWidget.php similarity index 95% rename from packages/app/src/Widgets/TableWidget.php rename to packages/widgets/src/TableWidget.php index a77221889f..a7893ded79 100644 --- a/packages/app/src/Widgets/TableWidget.php +++ b/packages/widgets/src/TableWidget.php @@ -14,7 +14,7 @@ class TableWidget extends Widget implements Tables\Contracts\HasTable makeTable as makeBaseTable; } - protected static string $view = 'filament::widgets.table-widget'; + protected static string $view = 'filament-widgets::table-widget'; /** * @deprecated Override the `table()` method to configure the table. diff --git a/packages/app/src/Widgets/Widget.php b/packages/widgets/src/Widget.php similarity index 100% rename from packages/app/src/Widgets/Widget.php rename to packages/widgets/src/Widget.php diff --git a/packages/widgets/src/WidgetsServiceProvider.php b/packages/widgets/src/WidgetsServiceProvider.php new file mode 100644 index 0000000000..1ffeabfbd3 --- /dev/null +++ b/packages/widgets/src/WidgetsServiceProvider.php @@ -0,0 +1,44 @@ + + + {{-- Widget content --}} + +