From 3185cc3519f7ed8d0c01541bc912de61c2e1aac7 Mon Sep 17 00:00:00 2001 From: Kennedy Kori Date: Mon, 6 Jun 2022 14:25:27 +0300 Subject: [PATCH] chore(conf): improve project configuration --- .dockerignore | 2 +- .github/workflows/ci.yml | 35 +++-- .github/workflows/release.yaml | 83 ++++++++++++ .pre-commit-config.yaml | 37 ++++++ .releaserc.yaml | 50 +++++++ LICENSE | 2 +- README.md | 8 +- apps/app_auth/admin.py | 3 - apps/app_auth/apiviews.py | 1 + apps/app_auth/models.py | 3 - apps/app_auth/tests.py | 2 +- apps/app_auth/urls.py | 5 +- apps/app_auth/views.py | 2 +- apps/common/apiviews.py | 1 + apps/common/migrations/0001_initial.py | 8 +- apps/common/models.py | 3 +- apps/common/serializers.py | 1 - apps/common/tests.py | 2 +- apps/common/urls.py | 6 +- apps/common/views.py | 2 +- apps/core/admin.py | 19 ++- apps/core/apiviews.py | 2 + apps/core/models.py | 45 +++++-- apps/core/serializers.py | 10 +- apps/core/tests.py | 3 - apps/core/views.py | 3 - apps/dashboards/apiviews.py | 2 + apps/dashboards/models.py | 35 +++-- apps/dashboards/serializers.py | 1 - apps/dashboards/tests.py | 2 +- apps/dashboards/urls.py | 6 +- apps/dashboards/views.py | 2 +- apps/frontend/admin.py | 3 - apps/frontend/context_processors.py | 1 + apps/frontend/models.py | 3 - apps/frontend/tests.py | 3 - apps/frontend/urls.py | 9 +- apps/misc/admin.py | 3 - apps/misc/models.py | 3 - apps/misc/tests.py | 3 - apps/misc/urls.py | 5 +- apps/misc/views.py | 3 +- apps/sql_data/admin.py | 16 ++- apps/sql_data/apiviews.py | 34 +++-- apps/sql_data/migrations/0001_initial.py | 10 +- ...ata_applicable_source_versions_and_more.py | 2 +- apps/sql_data/models.py | 59 ++++----- apps/sql_data/serializers.py | 12 +- apps/sql_data/tests.py | 2 +- apps/sql_data/urls.py | 8 +- apps/sql_data/views.py | 2 +- apps/users/forms.py | 4 +- apps/users/migrations/0001_initial.py | 5 +- apps/users/models.py | 4 +- apps/users/signals.py | 13 +- apps/users/tests.py | 3 - apps/users/tests/__init__.py | 0 apps/users/tests/factories.py | 37 ++++++ apps/users/tests/test_models.py | 23 ++++ apps/users/views.py | 3 - assets/static/css/project.css | 2 +- assets/static/css/project.min.css | 2 +- .../static/images/favicons/browserconfig.xml | 2 +- assets/static/images/favicons/manifest.json | 2 +- assets/static/images/undraw_posting_photo.svg | 2 +- assets/static/images/undraw_profile.svg | 2 +- assets/static/images/undraw_profile_1.svg | 2 +- assets/static/images/undraw_profile_2.svg | 2 +- assets/static/images/undraw_profile_3.svg | 2 +- assets/static/images/undraw_rocket.svg | 2 +- .../static/js/bootstrap-datepicker.min.js.map | 2 +- assets/static/js/bootstrap.js.map | 2 +- assets/static/js/bootstrap4-toggle.min.js.map | 2 +- .../js/jquery.easing.compatibility.js.map | 2 +- assets/static/js/jquery.easing.js.map | 2 +- assets/static/js/jquery.easing.min.js.map | 2 +- assets/static/js/jquery.js.map | 2 +- assets/static/js/jquery.validate.min.js.map | 2 +- assets/static/js/js.cookie.min.js.map | 2 +- assets/static/js/jszip.min.js.map | 2 +- assets/static/js/popper.js.map | 2 +- assets/static/js/select2.full.min.js.map | 2 +- assets/static/js/vendors.js | 2 +- assets/templates/pages/base.html | 2 +- cloudbuild.yaml | 2 +- config/asgi.py | 1 - config/settings/base.py | 49 ++++--- config/settings/{github.py => github_ci.py} | 1 - config/settings/local.py | 13 +- config/settings/production.py | 21 ++- config/settings/test.py | 85 ++++++++++++ config/urls.py | 12 +- config/wsgi.py | 2 +- package.json | 2 +- pyproject.toml | 88 +++++++++++++ requirements.txt | 123 +----------------- requirements/base.txt | 22 ++++ requirements/dev.txt | 4 + requirements/production.txt | 24 ++++ requirements/test.txt | 36 +++++ runtime.txt | 2 +- setup.cfg | 0 tox.ini | 59 +++++++++ 103 files changed, 846 insertions(+), 407 deletions(-) create mode 100644 .github/workflows/release.yaml create mode 100644 .pre-commit-config.yaml create mode 100644 .releaserc.yaml delete mode 100644 apps/users/tests.py create mode 100644 apps/users/tests/__init__.py create mode 100644 apps/users/tests/factories.py create mode 100644 apps/users/tests/test_models.py rename config/settings/{github.py => github_ci.py} (99%) create mode 100644 config/settings/test.py create mode 100644 pyproject.toml create mode 100644 requirements/base.txt create mode 100644 requirements/dev.txt create mode 100644 requirements/production.txt create mode 100644 requirements/test.txt create mode 100644 setup.cfg create mode 100644 tox.ini diff --git a/.dockerignore b/.dockerignore index ef073d9..5518e60 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,4 +7,4 @@ .pre-commit-config.yaml .readthedocs.yml .travis.yml -venv \ No newline at end of file +venv diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index acd7c54..ace276c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,20 +3,25 @@ name: CI on: [push] env: - DOCKER_BUILDKIT: 1 # Enable Buildkit and let compose use it to speed up image building COMPOSE_DOCKER_CLI_BUILD: 1 DJANGO_DEBUG: true + DJANGO_EMAIL_BACKEND: "${{ secrets.DJANGO_EMAIL_BACKEND }}" + DJANGO_GCP_STORAGE_BUCKET_NAME: "${{ secrets.DJANGO_GCP_STORAGE_BUCKET_NAME }}" DJANGO_SECRET_KEY: "${{ secrets.DJANGO_SECRET_KEY }}" - USE_DOCKER: no + DOCKER_BUILDKIT: 1 # Enable Buildkit and let compose use it to speed up image building + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + GOOGLE_APPLICATION_CREDENTIALS: "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}" + POSTGRES_DB: postgres POSTGRES_HOST: localhost + POSTGRES_PASSWORD: postgres POSTGRES_PORT: 5432 - POSTGRES_DB: postgres POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - GOOGLE_APPLICATION_CREDENTIALS: "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}" - DJANGO_GCP_STORAGE_BUCKET_NAME: "${{ secrets.DJANGO_GCP_STORAGE_BUCKET_NAME }}" - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - DJANGO_EMAIL_BACKEND: "${{ secrets.DJANGO_EMAIL_BACKEND }}" + TEST_POSTGRES_DB: idr_server_test + TEST_POSTGRES_HOST: localhost + TEST_POSTGRES_PASSWORD: postgres + TEST_POSTGRES_PORT: 5432 + TEST_POSTGRES_USER: postgres + USE_DOCKER: no jobs: build: @@ -51,15 +56,19 @@ jobs: with: python-version: ${{ matrix.python-version }} + # Run all pre-commit hooks on all the files. + # Getting only staged files can be tricky in case a new PR is opened + # since the action is run on a branch in detached head state + - name: Install and run pre-commit + uses: pre-commit/action@v3.0.0 + - name: Install Requirements run: | sudo apt-get update sudo apt-get install postgis gdal-bin libgdal-dev python -m pip install --upgrade pip - pip install -r requirements.txt + python -m pip install tox tox-gh-actions npm ci - - name: Setup Django - run: | - python manage.py migrate - python manage.py collectstatic --noinput + - name: Test with tox + run: tox -re "py39,py310,coveralls" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..b6e2c11 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,83 @@ +name: Release + +on: + push: + branches: + - chore-improve-project-configuration + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Setup NodeJS + uses: actions/setup-node@v2 + with: + node-version: 'lts/*' + + - name: Install requirements + run: | + sudo apt-get update + sudo apt-get install python3.10 nodejs + npm install @semantic-release/changelog @semantic-release/git conventional-changelog-conventionalcommits + + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@v5 + env: + GPG_KEY: ${{ secrets.GPG_KEY }} + with: + git_commit_gpgsign: true + git_committer_email: ${{ secrets.GIT_COMMITTER_EMAIL }} + git_committer_name: ${{ secrets.GIT_COMMITTER_NAME }} + git_tag_gpgsign: true + git_user_signingkey: true + gpg_private_key: ${{ secrets.GPG_KEY }} + passphrase: ${{ secrets.GPG_KEY_PASSPHRASE }} + +# - name: Import GPG key +# run: echo $GPG_KEY | base64 -i --decode | gpg --batch --import +# env: +# GPG_KEY: ${{ secrets.GPG_KEY }} +# +# - name: Add the custom gpg signing program that passes the passphrase to the gpg CLI +# run: | +# rm -rf /tmp/gpg.sh +# echo '#!/bin/bash' >> /tmp/gpg.sh +# echo 'gpg --batch --pinentry-mode=loopback --passphrase $GPG_KEY_PASSPHRASE $@' >> /tmp/gpg.sh +# chmod +x /tmp/gpg.sh +# +# - name: Setup git +# run: | +# git config --global commit.gpgsign true +# git config --global tag.gpgsign true +# git config --global user.signingkey $GPG_KEY_ID +# git config --global gpg.program /tmp/gpg.sh +# env: +# GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} + + - name: Test sign + run: | + echo 'Something' >> test.md + git add test.md + GIT_TRACE=2 git commit -m "test commit" + git verify-commit $( git rev-parse HEAD ) + env: + GPG_KEY_PASSPHRASE: ${{ secrets.GPG_KEY_PASSPHRASE }} + GIT_COMMITTER_NAME: ${{ secrets.GIT_COMMITTER_NAME }} + GIT_COMMITTER_EMAIL: ${{ secrets.GIT_COMMITTER_EMAIL }} + GIT_AUTHOR_NAME: SomeBot + GIT_AUTHOR_EMAIL: somebot@example.com + + - name: Create a release + run: npx semantic-release + env: + GIT_AUTHOR_EMAIL: ${{ secrets.GIT_COMMITTER_EMAIL }} + GIT_AUTHOR_NAME: ${{ secrets.GIT_COMMITTER_NAME }} + GIT_COMMITTER_EMAIL: ${{ secrets.GIT_COMMITTER_EMAIL }} + GIT_COMMITTER_NAME: ${{ secrets.GIT_COMMITTER_NAME }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GPG_KEY_PASSPHRASE: ${{ secrets.GPG_KEY_PASSPHRASE }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..bf065a6 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,37 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +exclude: "docs|node_modules|migrations|.git|.tox" +default_stages: [commit] +# fail_fast: true +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files + + - repo: https://github.com/psf/black + rev: 22.6.0 + hooks: + - id: black + + - repo: https://github.com/timothycrosley/isort + rev: 5.10.1 + hooks: + - id: isort + args: ["--profile", "black"] + + - repo: https://gitlab.com/pycqa/flake8 + rev: 3.9.2 + hooks: + - id: flake8 + args: ["--config=tox.ini"] + additional_dependencies: [flake8-isort] + +# sets up .pre-commit-ci.yaml to ensure pre-commit dependencies stay up to date +ci: + autoupdate_schedule: weekly + skip: [] + submodules: false diff --git a/.releaserc.yaml b/.releaserc.yaml new file mode 100644 index 0000000..750edfd --- /dev/null +++ b/.releaserc.yaml @@ -0,0 +1,50 @@ +branches: ["chore-improve-project-configuration"] +debug: false +dryRun: false +plugins: + - ["@semantic-release/commit-analyzer", { + parserOpts: { + noteKeywords: [ "BREAKING CHANGE", "BREAKING CHANGES", "BREAKING" ], + }, + preset: "angular", + releaseRules: [ + {type: "chore", scope: "conf", release: "patch"}, + {type: "chore", scope: "config", release: "patch"}, + {type: "chore", scope: "core", release: "minor"}, + {type: "chore", scope: "deps", release: "patch"} + ] + } + ] + - ["@semantic-release/release-notes-generator", { + parserOpts: { + noteKeywords: [ "BREAKING CHANGE", "BREAKING CHANGES", "BREAKING" ], + }, + preset: "conventionalcommits", + presetConfig: { + types: [ + { type: "chore", scope: "deps", section: "Dependency Updates" }, + { type: "chore", section: "Refactors" }, + { type: "docs", hidden: true }, + { type: "feat", section: "Features" }, + { type: "fix", section: "Bug Fixes" }, + { type: "perf", hidden: true }, + { type: "refactor", section: "Refactors" }, + { type: "style", hidden: true }, + { type: "test", hidden: true } + ] + }, + writerOpts: { + commitsSort: [ "subject", "scope" ], + } + } + ] + - ["@semantic-release/changelog", + changelogFile: "docs/CHANGELOG.md" + ] + - ["@semantic-release/git", { + assets: [ "docs/*" ], + message: "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } + ] + - "@semantic-release/github" +tagFormat: v${version} diff --git a/LICENSE b/LICENSE index 8c0e0ce..9cc6657 100644 --- a/LICENSE +++ b/LICENSE @@ -5,4 +5,4 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 8e71c5f..ffde828 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ # IDR Server -IDR(Integrated Data Repository) Server is a service that houses metadata -for/and receives extracted data from ICDR Clients. +IDR(Integrated Data Repository) Server is a service that houses extract metadata +for/and receives extracted data from [IDR Clients](https://github.com/savannahghi/idr-client). + +[![Coverage Status](https://coveralls.io/repos/github/savannahghi/idr-server/badge.svg)](https://coveralls.io/github/savannahghi/idr-server) +[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit) +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) diff --git a/apps/app_auth/admin.py b/apps/app_auth/admin.py index 8c38f3f..e69de29 100644 --- a/apps/app_auth/admin.py +++ b/apps/app_auth/admin.py @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/apps/app_auth/apiviews.py b/apps/app_auth/apiviews.py index 2d3829f..0ea8a13 100644 --- a/apps/app_auth/apiviews.py +++ b/apps/app_auth/apiviews.py @@ -4,4 +4,5 @@ class LoginView(KnoxLoginView): """The default endpoint for API login.""" + authentication_classes = (BasicAuthentication,) diff --git a/apps/app_auth/models.py b/apps/app_auth/models.py index 71a8362..e69de29 100644 --- a/apps/app_auth/models.py +++ b/apps/app_auth/models.py @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/apps/app_auth/tests.py b/apps/app_auth/tests.py index 7ce503c..a79ca8b 100644 --- a/apps/app_auth/tests.py +++ b/apps/app_auth/tests.py @@ -1,3 +1,3 @@ -from django.test import TestCase +# from django.test import TestCase # Create your tests here. diff --git a/apps/app_auth/urls.py b/apps/app_auth/urls.py index cb03c13..3f3bf5e 100644 --- a/apps/app_auth/urls.py +++ b/apps/app_auth/urls.py @@ -1,11 +1,10 @@ from django.urls import path -from knox.views import LogoutView, LogoutAllView +from knox.views import LogoutAllView, LogoutView from .apiviews import LoginView - urlpatterns = [ path("auth/login/", LoginView.as_view(), name="api_login"), path("auth/logout/", LogoutView.as_view(), name="api_logout"), - path("auth/logoutall/", LogoutAllView.as_view(), name="api_logoutall") + path("auth/logoutall/", LogoutAllView.as_view(), name="api_logoutall"), ] diff --git a/apps/app_auth/views.py b/apps/app_auth/views.py index 91ea44a..fd0e044 100644 --- a/apps/app_auth/views.py +++ b/apps/app_auth/views.py @@ -1,3 +1,3 @@ -from django.shortcuts import render +# from django.shortcuts import render # Create your views here. diff --git a/apps/common/apiviews.py b/apps/common/apiviews.py index 8a0e3d9..2c0a737 100644 --- a/apps/common/apiviews.py +++ b/apps/common/apiviews.py @@ -6,5 +6,6 @@ class GenericSourceViewSet(AuditBaseViewSet): """Generic Source API.""" + queryset = GenericSource.objects.all() serializer_class = GenericSourceSerializer diff --git a/apps/common/migrations/0001_initial.py b/apps/common/migrations/0001_initial.py index fdc2f29..d13875f 100644 --- a/apps/common/migrations/0001_initial.py +++ b/apps/common/migrations/0001_initial.py @@ -1,10 +1,12 @@ # Generated by Django 4.0.4 on 2022-06-09 07:38 -import apps.core.models +import uuid + +import django.db.models.deletion from django.conf import settings from django.db import migrations, models -import django.db.models.deletion -import uuid + +import apps.core.models class Migration(migrations.Migration): diff --git a/apps/common/models.py b/apps/common/models.py index 6bfb5a1..70e2425 100644 --- a/apps/common/models.py +++ b/apps/common/models.py @@ -1,10 +1,11 @@ from apps.core.models import AbstractDataSource - # ============================================================================= # COMMON MODELS # ============================================================================= + class GenericSource(AbstractDataSource): """This is a generic data source.""" + ... diff --git a/apps/common/serializers.py b/apps/common/serializers.py index 0149105..0d5bb0a 100644 --- a/apps/common/serializers.py +++ b/apps/common/serializers.py @@ -4,7 +4,6 @@ class GenericSourceSerializer(AuditBaseSerializer): - class Meta: model = GenericSource fields = "__all__" diff --git a/apps/common/tests.py b/apps/common/tests.py index 7ce503c..a79ca8b 100644 --- a/apps/common/tests.py +++ b/apps/common/tests.py @@ -1,3 +1,3 @@ -from django.test import TestCase +# from django.test import TestCase # Create your tests here. diff --git a/apps/common/urls.py b/apps/common/urls.py index c79b643..1856b64 100644 --- a/apps/common/urls.py +++ b/apps/common/urls.py @@ -1,14 +1,10 @@ from django.urls import include, path - from rest_framework.routers import DefaultRouter from .apiviews import GenericSourceViewSet - router = DefaultRouter() router.register("generic_sources", GenericSourceViewSet) -urlpatterns = [ - path("", include(router.urls)) -] +urlpatterns = [path("", include(router.urls))] diff --git a/apps/common/views.py b/apps/common/views.py index 91ea44a..fd0e044 100644 --- a/apps/common/views.py +++ b/apps/common/views.py @@ -1,3 +1,3 @@ -from django.shortcuts import render +# from django.shortcuts import render # Create your views here. diff --git a/apps/core/admin.py b/apps/core/admin.py index 266f9be..defc532 100644 --- a/apps/core/admin.py +++ b/apps/core/admin.py @@ -5,6 +5,7 @@ class BaseModelAdmin(admin.ModelAdmin): """ This is the base `ModelAdmin` for this project """ + ... @@ -13,6 +14,7 @@ class AuditBaseModelAdmin(BaseModelAdmin): This is the base `ModelAdmin` for all `AuditBaseModel` models in this project. """ + date_hierarchy = "updated_at" def __init__(self, *args, **kwargs): @@ -21,7 +23,10 @@ def __init__(self, *args, **kwargs): # self.audit_details_fieldset, # ) self.readonly_fields = ( - "created_at", "created_by", "updated_at", "updated_by" + "created_at", + "created_by", + "updated_at", + "updated_by", ) @property @@ -33,12 +38,16 @@ def audit_details_fieldset(self): :return: a field set of fields that define/hold audit data. """ return ( - "Audit Details", { + "Audit Details", + { "classes": ("collapse",), "fields": ( - "created_at", "created_by", "updated_at", "updated_by" - ) - } + "created_at", + "created_by", + "updated_at", + "updated_by", + ), + }, ) def save_model(self, request, obj, form, change): diff --git a/apps/core/apiviews.py b/apps/core/apiviews.py index f3d33ed..fe76b09 100644 --- a/apps/core/apiviews.py +++ b/apps/core/apiviews.py @@ -5,6 +5,7 @@ class BaseViewSet(ModelViewSet): """ This is the base `ViewSet` from which all other view sets are derived from. """ + ... @@ -12,4 +13,5 @@ class AuditBaseViewSet(BaseViewSet): """ This is the base `ViewSet` for all `AuditBase` models in this project. """ + ... diff --git a/apps/core/models.py b/apps/core/models.py index e11aa3a..b128b67 100644 --- a/apps/core/models.py +++ b/apps/core/models.py @@ -10,10 +10,10 @@ the abstractions themselves. """ import uuid -from django.db import models from typing import TypeVar from django.conf import settings +from django.db import models from django.utils.translation import gettext_lazy as _ # ============================================================================= @@ -27,8 +27,10 @@ # QUERY SETS # ============================================================================= + class BaseQuerySet(models.QuerySet[BM]): """This is the base `QuerySet` used in the project.""" + ... @@ -36,8 +38,10 @@ class BaseQuerySet(models.QuerySet[BM]): # MANAGERS # ============================================================================= + class BaseManager(models.Manager[BM]): """This is the default `Manager` for all models in this project.""" + use_for_related_fields = True use_in_migrations = True @@ -53,6 +57,7 @@ def get_queryset(self) -> BaseQuerySet: class AuditBaseManager(BaseManager): """This is the default manager for all `AuditBase` models.""" + use_for_related_fields = True use_in_migrations = True @@ -75,11 +80,13 @@ def create(self, creator=None, **kwargs): # BASE MODELS # ============================================================================= + class BaseModel(models.Model): """ This is the base `Model` of the project from which all concrete inherit from. """ + id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) # Default Manager @@ -93,13 +100,17 @@ class AuditBase(BaseModel): """ This is the base `Model` from which all auditable models are derived from. """ + # Instance creation data created_at = models.DateTimeField(auto_now_add=True, editable=False) created_by = models.ForeignKey( settings.AUTH_USER_MODEL, models.PROTECT, related_name="%(app_label)s_%(class)s_created_by", - null=True, db_column="created_by", blank=True, editable=False + null=True, + db_column="created_by", + blank=True, + editable=False, ) # Instance modification data updated_at = models.DateTimeField(auto_now=True, editable=False) @@ -107,7 +118,10 @@ class AuditBase(BaseModel): settings.AUTH_USER_MODEL, models.PROTECT, related_name="%(app_label)s_%(class)s_updated_by", - null=True, db_column="updated_by", blank=True, editable=False + null=True, + db_column="updated_by", + blank=True, + editable=False, ) # Default Manager objects: AuditBaseManager = AuditBaseManager() @@ -164,7 +178,7 @@ def update(self, modifier=None, **kwargs) -> "AuditBase": # TODO: Add support for many to many fields # Update only the fields provided - updatable_fields = (*kwargs.keys(), 'updated_by') + updatable_fields = (*kwargs.keys(), "updated_by") self.save(modifier, update_fields=updatable_fields) return self @@ -178,6 +192,7 @@ class Meta(BaseModel.Meta): # CORE ABSTRACTIONS # ============================================================================= + class AbstractDataSource(AuditBase): """ Represents a data source. @@ -187,6 +202,7 @@ class AbstractDataSource(AuditBase): A source can have multiple extract metadata. """ + name = models.CharField(max_length=200) description = models.TextField(blank=True, default="") @@ -204,10 +220,11 @@ class AbstractUploadChunk(AuditBase): `AbstractUploadMetadata` instances. That is, each upload will be composed of multiple chunks. """ + start_time = models.DateTimeField( auto_now_add=True, editable=False, - help_text=_("The time the upload of this chunk commenced.") + help_text=_("The time the upload of this chunk commenced."), ) finish_time = models.DateTimeField( blank=True, @@ -215,7 +232,7 @@ class AbstractUploadChunk(AuditBase): help_text=_( "The completion time of the upload this chunk. An upload will " "only be considered complete once this value is non-null." - ) + ), ) chunk_index = models.PositiveIntegerField() @@ -237,10 +254,10 @@ class AbstractExtractMetadata(AuditBase): Each extract is only applicable to a single a source. """ + name = models.CharField(max_length=200) version = models.CharField( - max_length=100, - help_text="The version of this metadata." + max_length=100, help_text="The version of this metadata." ) description = models.TextField(blank=True, default="") preferred_uploads_name = models.CharField( @@ -253,7 +270,7 @@ class AbstractExtractMetadata(AuditBase): "upload metadata implementation in use and thus this is more of a " "hint(to upload metadata implementations) of a suitable name to " "use." - ) + ), ) def __str__(self) -> str: @@ -265,10 +282,11 @@ class Meta(AuditBase.Meta): class AbstractUploadMetadata(AuditBase): """Metadata that describes a data upload by a client.""" + made_on = models.DateTimeField(auto_now_add=True, editable=False) chunks = models.PositiveIntegerField( default=1, - help_text=_("The number of chunks contained in this upload.") + help_text=_("The number of chunks contained in this upload."), ) @property @@ -298,19 +316,20 @@ class AbstractOrgUnitUploadMetadata(AbstractUploadMetadata): # noqa The location is expected to have a code to ease indexing and a human readable name. """ + org_unit_code = models.CharField( max_length=150, help_text=_( "This is a code representing the location from which this upload " "was made. E.g, an MFL code for facilities in Kenya." - ) + ), ) org_unit_name = models.CharField( max_length=250, help_text=_( "A human-readable name for the location from which this upload " "was made. E.g, the name of a facility." - ) + ), ) @property @@ -320,7 +339,7 @@ def name(self) -> str: self.org_unit_code, self.org_unit_name, str(self.made_on), - str(self.pk) + str(self.pk), ) class Meta(AbstractUploadMetadata.Meta): diff --git a/apps/core/serializers.py b/apps/core/serializers.py index 61eb6b2..ffd9b0a 100644 --- a/apps/core/serializers.py +++ b/apps/core/serializers.py @@ -5,7 +5,6 @@ from .models import AuditBase - User = get_user_model() @@ -24,6 +23,7 @@ class AuditBaseSerializer(BaseSerializer): This is the base `Serializer` for all `AuditBase` models in this project. Audit data is only available to admin users. """ + created_by = serializers.StringRelatedField(read_only=True) updated_by = serializers.StringRelatedField(read_only=True) @@ -32,7 +32,7 @@ def __init__(self, *args, **kwargs): # Only show audit data to admin users user = self.get_user_from_context() - if not(user and user.is_staff): + if not (user and user.is_staff): # type: ignore for field in ("created_by", "updated_at", "updated_by"): self.fields.pop(field, None) @@ -63,9 +63,7 @@ def get_user_from_context(self) -> Optional[User]: return request.user if request else None def update( - self, - instance: AuditBase, - validated_data: Dict[str, Any] + self, instance: AuditBase, validated_data: Dict[str, Any] ) -> AuditBase: """ Updates and returns the given instance with the given validated data. @@ -82,5 +80,5 @@ def update( validated_data["modifier"] = user return instance.update(**validated_data) - class Meta: + class Meta(BaseSerializer.Meta): abstract = True diff --git a/apps/core/tests.py b/apps/core/tests.py index 7ce503c..e69de29 100644 --- a/apps/core/tests.py +++ b/apps/core/tests.py @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/apps/core/views.py b/apps/core/views.py index 91ea44a..e69de29 100644 --- a/apps/core/views.py +++ b/apps/core/views.py @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/apps/dashboards/apiviews.py b/apps/dashboards/apiviews.py index f245c0a..2587dea 100644 --- a/apps/dashboards/apiviews.py +++ b/apps/dashboards/apiviews.py @@ -6,6 +6,7 @@ class DashboardViewSet(AuditBaseViewSet): """Dashboards API.""" + queryset = Dashboard.objects.published() serializer_class = DashboardSerializer @@ -17,6 +18,7 @@ def get_queryset(self): class VisualizationViewSet(AuditBaseViewSet): """Visualizations API.""" + queryset = Visualization.objects.published() serializer_class = VisualizationSerializer diff --git a/apps/dashboards/models.py b/apps/dashboards/models.py index 33e52b6..e78b1ad 100644 --- a/apps/dashboards/models.py +++ b/apps/dashboards/models.py @@ -6,14 +6,13 @@ from apps.core.models import AuditBase, AuditBaseManager, BaseQuerySet - # ============================================================================= # CONSTANTS # ============================================================================= _DEFAULT_VISUALIZATION_ATTRIBUTES: Mapping[str, Any] = { "allowFullScreen": "true", - "frameboarder": 0 + "frameboarder": 0, } @@ -21,6 +20,7 @@ # HELPERS # ============================================================================= + def _default_visualization_attrs_factory() -> Mapping[str, Any]: return _DEFAULT_VISUALIZATION_ATTRIBUTES @@ -29,6 +29,7 @@ def _default_visualization_attrs_factory() -> Mapping[str, Any]: # QUERY SETS # ============================================================================= + class DashboardQuerySet(BaseQuerySet): """The query set for the Dashboard models.""" @@ -49,8 +50,10 @@ def published(self) -> "Visualization": # MANAGERS # ============================================================================= + class DashboardManager(AuditBaseManager.from_queryset(DashboardQuerySet)): """Manager for the dashboard model.""" + use_in_migrations = True def get_queryset(self) -> DashboardQuerySet: @@ -61,6 +64,7 @@ class VisualizationManager( AuditBaseManager.from_queryset(VisualizationQuerySet) ): """Manager for the visualization model.""" + use_in_migrations = True def get_queryset(self) -> VisualizationQuerySet: @@ -71,22 +75,24 @@ def get_queryset(self) -> VisualizationQuerySet: # MODELS # ============================================================================= + class Dashboard(AuditBase): """This represents a collection of related visualizations.""" + class DashboardLayouts(models.TextChoices): """The different layouts that are supported by dashboards.""" + FREE_LAYOUT = "free", _("Free Layout") NOT_SPECIFIED = "none", _("Not Specified") title = models.CharField( - max_length=200, - help_text=_("A descriptive title for this dashboard.") + max_length=200, help_text=_("A descriptive title for this dashboard.") ) description = models.TextField(blank=True, default="") layout = models.CharField( choices=DashboardLayouts.choices, default=DashboardLayouts.NOT_SPECIFIED.value, - max_length=15 + max_length=15, ) weight = models.SmallIntegerField( blank=True, @@ -96,7 +102,7 @@ class DashboardLayouts(models.TextChoices): "This indicates the importance of this dashboard. Dashboards with " "higher weights/precedence should generally be displayed before " "those with lower weights." - ) + ), ) visualizations = models.ManyToManyField("Visualization") is_published = models.BooleanField( @@ -104,7 +110,7 @@ class DashboardLayouts(models.TextChoices): help_text=_( "This flag indicates whether a dashboard and it's visualizations " "are ready for consumption by the stakeholders/users." - ) + ), ) # Override the default manager @@ -119,9 +125,10 @@ class Visualization(AuditBase): The visualizations are embedded inside an iframe. """ + title = models.CharField( max_length=200, - help_text=_("A descriptive title for this visualization.") + help_text=_("A descriptive title for this visualization."), ) description = models.TextField(blank=True, default="") source = models.URLField( @@ -130,7 +137,7 @@ class Visualization(AuditBase): help_text=_( "The url to the source of this visualization. E.g A url to a " "Power Bi dashboard." - ) + ), ) width = models.DecimalField( max_digits=6, @@ -139,7 +146,7 @@ class Visualization(AuditBase): help_text=_( "The width that the visualization should have in pixels once " "it's rendered." - ) + ), ) height = models.DecimalField( max_digits=6, @@ -148,7 +155,7 @@ class Visualization(AuditBase): help_text=_( "The height that the visualization should have in pixels once " "it's rendered." - ) + ), ) weight = models.SmallIntegerField( blank=True, @@ -160,7 +167,7 @@ class Visualization(AuditBase): "generally be displayed before those with lower weights but " "dashboards renders can choose to ignore these values and layout " "the visualizations however they see fit." - ) + ), ) metadata = models.JSONField( blank=True, @@ -169,14 +176,14 @@ class Visualization(AuditBase): "Metadata and attributes to append to the rendered visualizations." " These attributes are added as html element attributes to the " "rendered iframe (Should be a dict)." - ) + ), ) is_published = models.BooleanField( default=False, help_text=_( "This flag indicates whether a visualization is ready for " "consumption by the stakeholders/users." - ) + ), ) # Override the default manager diff --git a/apps/dashboards/serializers.py b/apps/dashboards/serializers.py index 1615144..09faea8 100644 --- a/apps/dashboards/serializers.py +++ b/apps/dashboards/serializers.py @@ -4,7 +4,6 @@ class VisualizationSerializer(AuditBaseSerializer): - class Meta: model = Visualization fields = "__all__" diff --git a/apps/dashboards/tests.py b/apps/dashboards/tests.py index 7ce503c..a79ca8b 100644 --- a/apps/dashboards/tests.py +++ b/apps/dashboards/tests.py @@ -1,3 +1,3 @@ -from django.test import TestCase +# from django.test import TestCase # Create your tests here. diff --git a/apps/dashboards/urls.py b/apps/dashboards/urls.py index 7942847..bc721ea 100644 --- a/apps/dashboards/urls.py +++ b/apps/dashboards/urls.py @@ -1,15 +1,11 @@ from django.urls import include, path - from rest_framework.routers import DefaultRouter from .apiviews import DashboardViewSet, VisualizationViewSet - router = DefaultRouter() router.register("dashboards", DashboardViewSet) router.register("visualizations", VisualizationViewSet) -urlpatterns = [ - path("dashboards/", include(router.urls)) -] +urlpatterns = [path("dashboards/", include(router.urls))] diff --git a/apps/dashboards/views.py b/apps/dashboards/views.py index 91ea44a..fd0e044 100644 --- a/apps/dashboards/views.py +++ b/apps/dashboards/views.py @@ -1,3 +1,3 @@ -from django.shortcuts import render +# from django.shortcuts import render # Create your views here. diff --git a/apps/frontend/admin.py b/apps/frontend/admin.py index 8c38f3f..e69de29 100644 --- a/apps/frontend/admin.py +++ b/apps/frontend/admin.py @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/apps/frontend/context_processors.py b/apps/frontend/context_processors.py index 984d01d..0d0e194 100644 --- a/apps/frontend/context_processors.py +++ b/apps/frontend/context_processors.py @@ -1,4 +1,5 @@ from typing import Any, Mapping + from django.http.request import HttpRequest from apps.dashboards.models import Dashboard, DashboardQuerySet diff --git a/apps/frontend/models.py b/apps/frontend/models.py index 71a8362..e69de29 100644 --- a/apps/frontend/models.py +++ b/apps/frontend/models.py @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/apps/frontend/tests.py b/apps/frontend/tests.py index 7ce503c..e69de29 100644 --- a/apps/frontend/tests.py +++ b/apps/frontend/tests.py @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/apps/frontend/urls.py b/apps/frontend/urls.py index c193978..549d65f 100644 --- a/apps/frontend/urls.py +++ b/apps/frontend/urls.py @@ -1,9 +1,2 @@ -from django.urls import path - -from .views import HomeView - - app_name = "frontend" -urlpatterns = [ - # path("", HomeView.as_view(), name="home") -] +urlpatterns = [] diff --git a/apps/misc/admin.py b/apps/misc/admin.py index 8c38f3f..e69de29 100644 --- a/apps/misc/admin.py +++ b/apps/misc/admin.py @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/apps/misc/models.py b/apps/misc/models.py index 71a8362..e69de29 100644 --- a/apps/misc/models.py +++ b/apps/misc/models.py @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/apps/misc/tests.py b/apps/misc/tests.py index 7ce503c..e69de29 100644 --- a/apps/misc/tests.py +++ b/apps/misc/tests.py @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/apps/misc/urls.py b/apps/misc/urls.py index f9bcd70..b4f1932 100644 --- a/apps/misc/urls.py +++ b/apps/misc/urls.py @@ -2,8 +2,5 @@ from .views import trigger_error - app_name = "misc" -urlpatterns = [ - path("sentry_debug/", trigger_error, name="sentry_debug") -] +urlpatterns = [path("sentry_debug/", trigger_error, name="sentry_debug")] diff --git a/apps/misc/views.py b/apps/misc/views.py index 548ff93..576fc23 100644 --- a/apps/misc/views.py +++ b/apps/misc/views.py @@ -5,6 +5,5 @@ def trigger_error(request: HttpRequest) -> HttpResponse: assert False, "This is an expected error." return HttpResponse( # noqa - content=b"

This should not be visible.

", - status=200 + content=b"

This should not be visible.

", status=200 ) diff --git a/apps/sql_data/admin.py b/apps/sql_data/admin.py index e7b3ba4..d5be6c2 100644 --- a/apps/sql_data/admin.py +++ b/apps/sql_data/admin.py @@ -27,15 +27,23 @@ class SQLExtractMetadataAdmin(AuditBaseModelAdmin): @admin.register(SQLUploadChunk) -class SQLUploadChunk(AuditBaseModelAdmin): +class SQLUploadChunkAdmin(AuditBaseModelAdmin): list_display = ( - "name", "upload_metadata", "chunk_index", "start_time", "finish_time", - "is_complete" + "name", + "upload_metadata", + "chunk_index", + "start_time", + "finish_time", + "is_complete", ) @admin.register(SQLUploadMetadata) class SQLUploadMetadataAdmin(AuditBaseModelAdmin): list_display = ( - "name", "data_source_name", "made_on", "chunks", "is_complete" + "name", + "data_source_name", + "made_on", + "chunks", + "is_complete", ) diff --git a/apps/sql_data/apiviews.py b/apps/sql_data/apiviews.py index 8a3c19c..f98ee99 100644 --- a/apps/sql_data/apiviews.py +++ b/apps/sql_data/apiviews.py @@ -2,6 +2,7 @@ from rest_framework.decorators import action from rest_framework.views import Request, Response from rest_framework.viewsets import GenericViewSet + from apps.core.apiviews import AuditBaseViewSet from .models import ( @@ -9,7 +10,7 @@ SQLDatabaseSource, SQLExtractMetadata, SQLUploadChunk, - SQLUploadMetadata + SQLUploadMetadata, ) from .serializers import ( DataSourceVersionSerializer, @@ -17,46 +18,57 @@ SQLDatabaseSerializer, SQLExtractMetadataSerializer, SQLUploadChunkSerializer, - SQLUploadMetadataSerializer + SQLUploadMetadataSerializer, ) class DataSourceVersionViewSet(AuditBaseViewSet): """Data Source Version API.""" + queryset = DataSourceVersion.objects.all() serializer_class = DataSourceVersionSerializer - filterset_fields = ['id', 'data_source', 'data_source_version'] + filterset_fields = ["id", "data_source", "data_source_version"] class SQLDatabaseViewSet(AuditBaseViewSet): """SQL Database Sources API.""" + queryset = SQLDatabaseSource.objects.all() serializer_class = SQLDatabaseSerializer - filterset_fields = ['id', 'name', 'database_name', 'database_vendor'] + filterset_fields = ["id", "name", "database_name", "database_vendor"] class SQLExtractMetadataViewSet(AuditBaseViewSet): """SQL Extract Metadata API.""" + queryset = SQLExtractMetadata.objects.prefetch_related( "applicable_source_versions", "data_source" ).all() serializer_class = SQLExtractMetadataSerializer - filterset_fields = ['id', 'name', 'data_source__database_name', 'version', 'preferred_uploads_name'] + filterset_fields = [ + "id", + "name", + "data_source__database_name", + "version", + "preferred_uploads_name", + ] class SQLUploadChunkViewSet( mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.ListModelMixin, - GenericViewSet + GenericViewSet, ): """SQL Upload Chunk API.""" + queryset = SQLUploadChunk.objects.all() serializer_class = SQLUploadChunkSerializer class SQLUploadMetadataViewSet(AuditBaseViewSet): """SQL Upload Metadata API.""" + queryset = SQLUploadMetadata.objects.prefetch_related( "upload_chunks" ).all() @@ -65,21 +77,17 @@ class SQLUploadMetadataViewSet(AuditBaseViewSet): @action( detail=True, methods=["POST"], - serializer_class=NewSQLUploadChunkSerializer + serializer_class=NewSQLUploadChunkSerializer, ) def start_chunk_upload(self, request: Request, pk) -> Response: """Start a new chunk upload.""" self.check_object_permissions(request, request.user) serializer: NewSQLUploadChunkSerializer = self.get_serializer( - data={ - **request.data, - "upload_metadata": str(pk) - } + data={**request.data, "upload_metadata": str(pk)} ) if not serializer.is_valid(): return Response( - serializer.errors, - status=status.HTTP_400_BAD_REQUEST + serializer.errors, status=status.HTTP_400_BAD_REQUEST ) serializer.save() diff --git a/apps/sql_data/migrations/0001_initial.py b/apps/sql_data/migrations/0001_initial.py index 38b104f..6059be8 100644 --- a/apps/sql_data/migrations/0001_initial.py +++ b/apps/sql_data/migrations/0001_initial.py @@ -1,11 +1,13 @@ # Generated by Django 4.0.4 on 2022-06-09 09:27 -import apps.core.models -import apps.sql_data.models +import uuid + +import django.db.models.deletion from django.conf import settings from django.db import migrations, models -import django.db.models.deletion -import uuid + +import apps.core.models +import apps.sql_data.models class Migration(migrations.Migration): diff --git a/apps/sql_data/migrations/0002_alter_sqlextractmetadata_applicable_source_versions_and_more.py b/apps/sql_data/migrations/0002_alter_sqlextractmetadata_applicable_source_versions_and_more.py index 18e0ee4..d5900cf 100644 --- a/apps/sql_data/migrations/0002_alter_sqlextractmetadata_applicable_source_versions_and_more.py +++ b/apps/sql_data/migrations/0002_alter_sqlextractmetadata_applicable_source_versions_and_more.py @@ -1,7 +1,7 @@ # Generated by Django 4.0.4 on 2022-06-09 11:36 -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/apps/sql_data/models.py b/apps/sql_data/models.py index fd2edbc..2a332a5 100644 --- a/apps/sql_data/models.py +++ b/apps/sql_data/models.py @@ -3,30 +3,28 @@ from django.utils.translation import gettext_lazy as _ from apps.core.models import ( - AbstractExtractMetadata, - AuditBase, AbstractDataSource, + AbstractExtractMetadata, + AbstractOrgUnitUploadMetadata, AbstractUploadChunk, - AbstractOrgUnitUploadMetadata + AuditBase, ) - # ============================================================================= # HELPERS # ============================================================================= + def sql_extracts_upload_to(instance: "SQLUploadChunk", filename: str) -> str: ex_meta: SQLExtractMetadata = instance.upload_metadata.extract_metadata - extracts_group_name: str = ( - ex_meta.preferred_uploads_name or ex_meta.name - ) + extracts_group_name: str = ex_meta.preferred_uploads_name or ex_meta.name return "%s/%s/%s/%s/%d__%s" % ( settings.BASE_EXTRACTS_UPLOAD_DIR_NAME, settings.SQL_EXTRACTS_UPLOAD_DIR_NAME, extracts_group_name, instance.upload_metadata.name, instance.chunk_index, - str(instance.pk) + str(instance.pk), ) @@ -34,6 +32,7 @@ def sql_extracts_upload_to(instance: "SQLUploadChunk", filename: str) -> str: # MODELS # ============================================================================= + class DataSourceVersion(AuditBase): """Describes a version of a data source. @@ -42,8 +41,7 @@ class DataSourceVersion(AuditBase): """ data_source = models.ForeignKey( - "SQLDatabaseSource", - on_delete=models.PROTECT + "SQLDatabaseSource", on_delete=models.PROTECT ) data_source_version = models.CharField(max_length=100) description = models.TextField(blank=True, default="") @@ -54,8 +52,10 @@ def __str__(self) -> str: class SQLDatabaseSource(AbstractDataSource): """This represents an SQL database as a data source.""" + class DatabaseVendors(models.TextChoices): """The supported database vendors.""" + MYSQL = "mysql", _("MySQL") POSTGRES_SQL = "postgres", _("Postgres SQL") @@ -67,17 +67,18 @@ class DatabaseVendors(models.TextChoices): "database, as this might be configuration dependent, this should " "be thought of as a hint to the client on the database to use for " "the extraction." - ) + ), ) database_vendor = models.CharField( max_length=20, choices=DatabaseVendors.choices, - default=DatabaseVendors.MYSQL.value + default=DatabaseVendors.MYSQL.value, ) class SQLExtractMetadata(AbstractExtractMetadata): """This represents extract metadata for SQL database sources.""" + sql_query = models.TextField( null=False, blank=False, @@ -85,22 +86,20 @@ class SQLExtractMetadata(AbstractExtractMetadata): "The actual SQL statement to be run against a database to " "retrieve data. Should be a valid SQL DML statement for the " "target database." - ) + ), ) data_source = models.ForeignKey( SQLDatabaseSource, on_delete=models.PROTECT, - related_name="available_extracts" + related_name="available_extracts", ) applicable_source_versions = models.ManyToManyField( DataSourceVersion, related_name="available_versions", - verbose_name=_("Applicable data source versions") + verbose_name=_("Applicable data source versions"), ) extras = models.JSONField( - blank=True, - default=dict, - help_text=_("Extra metadata.") + blank=True, default=dict, help_text=_("Extra metadata.") ) class Meta(AbstractExtractMetadata.Meta): @@ -109,16 +108,17 @@ class Meta(AbstractExtractMetadata.Meta): class SQLUploadChunk(AbstractUploadChunk): """Represents a segment of data being uploaded from an SQL database.""" + upload_metadata = models.ForeignKey( "SQLUploadMetadata", on_delete=models.PROTECT, - related_name="upload_chunks" + related_name="upload_chunks", ) chunk_content = models.FileField( upload_to=sql_extracts_upload_to, max_length=4096, null=True, - blank=True + blank=True, ) @property @@ -132,25 +132,24 @@ def __str__(self) -> str: class SQLUploadMetadata(AbstractOrgUnitUploadMetadata): """This represents an upload of data extracted from an SQL database.""" + class UploadContentTypes(models.TextChoices): """The supported content types for the upload data.""" + CSV = "text/csv", _("CSV") JSON = "application/json", _("JSON") MS_EXCEL = "application/vnd.ms-excel", _("MS Excel") MS_EXCEL_07 = ( - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - _("MS Excel 2007 and Later") + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", # noqa + _("MS Excel 2007 and Later"), ) PARQUET = "application/vnd.apache-parquet", _("Parquet") extract_metadata = models.ForeignKey( - SQLExtractMetadata, - on_delete=models.PROTECT, - related_name="uploads" + SQLExtractMetadata, on_delete=models.PROTECT, related_name="uploads" ) content_type = models.CharField( - max_length=100, - choices=UploadContentTypes.choices + max_length=100, choices=UploadContentTypes.choices ) is_consumed = models.BooleanField( editable=False, @@ -160,12 +159,10 @@ class UploadContentTypes(models.TextChoices): "Indicates that the concerned parties have received the uploaded " "data, and it's safe for the server to clear out the uploaded " "files(should it choose to) for efficiency reasons." - ) + ), ) extras = models.JSONField( - blank=True, - default=dict, - help_text=_("Extra metadata.") + blank=True, default=dict, help_text=_("Extra metadata.") ) @property diff --git a/apps/sql_data/serializers.py b/apps/sql_data/serializers.py index 0a21b28..a742174 100644 --- a/apps/sql_data/serializers.py +++ b/apps/sql_data/serializers.py @@ -5,26 +5,26 @@ SQLDatabaseSource, SQLExtractMetadata, SQLUploadChunk, - SQLUploadMetadata + SQLUploadMetadata, ) class NewSQLUploadChunkSerializer(AuditBaseSerializer): - class Meta: model = SQLUploadChunk fields = "__all__" class SQLDatabaseSerializer(AuditBaseSerializer): - class Meta: model = SQLDatabaseSource fields = "__all__" class DataSourceVersionSerializer(AuditBaseSerializer): - data_source_detail = SQLDatabaseSerializer(read_only=True, source="data_source") + data_source_detail = SQLDatabaseSerializer( + read_only=True, source="data_source" + ) class Meta: model = DataSourceVersion @@ -34,8 +34,7 @@ class Meta: class SQLExtractMetadataSerializer(AuditBaseSerializer): data_source = SQLDatabaseSerializer(read_only=True) applicable_source_versions = DataSourceVersionSerializer( - many=True, - read_only=True + many=True, read_only=True ) class Meta: @@ -44,7 +43,6 @@ class Meta: class SQLUploadChunkSerializer(NewSQLUploadChunkSerializer): - class Meta(NewSQLUploadChunkSerializer.Meta): fields = "__all__" read_only_fields = ("upload_metadata",) diff --git a/apps/sql_data/tests.py b/apps/sql_data/tests.py index 7ce503c..a79ca8b 100644 --- a/apps/sql_data/tests.py +++ b/apps/sql_data/tests.py @@ -1,3 +1,3 @@ -from django.test import TestCase +# from django.test import TestCase # Create your tests here. diff --git a/apps/sql_data/urls.py b/apps/sql_data/urls.py index 85fa949..31af280 100644 --- a/apps/sql_data/urls.py +++ b/apps/sql_data/urls.py @@ -1,5 +1,4 @@ from django.urls import include, path - from rest_framework.routers import DefaultRouter from .apiviews import ( @@ -7,10 +6,9 @@ SQLDatabaseViewSet, SQLExtractMetadataViewSet, SQLUploadChunkViewSet, - SQLUploadMetadataViewSet + SQLUploadMetadataViewSet, ) - router = DefaultRouter() router.register("data_source_versions", DataSourceVersionViewSet) router.register("sql_database_sources", SQLDatabaseViewSet) @@ -19,6 +17,4 @@ router.register("sql_upload_metadata", SQLUploadMetadataViewSet) -urlpatterns = [ - path("sql_data/", include(router.urls)) -] +urlpatterns = [path("sql_data/", include(router.urls))] diff --git a/apps/sql_data/views.py b/apps/sql_data/views.py index 91ea44a..fd0e044 100644 --- a/apps/sql_data/views.py +++ b/apps/sql_data/views.py @@ -1,3 +1,3 @@ -from django.shortcuts import render +# from django.shortcuts import render # Create your views here. diff --git a/apps/users/forms.py b/apps/users/forms.py index bcd09a0..80cd97a 100644 --- a/apps/users/forms.py +++ b/apps/users/forms.py @@ -15,7 +15,5 @@ class Meta(admin_forms.UserCreationForm.Meta): model = User error_messages = { - "username": { - "unique": _("This username has already been taken.") - } + "username": {"unique": _("This username has already been taken.")} } diff --git a/apps/users/migrations/0001_initial.py b/apps/users/migrations/0001_initial.py index cb271dd..5fdb633 100644 --- a/apps/users/migrations/0001_initial.py +++ b/apps/users/migrations/0001_initial.py @@ -1,10 +1,11 @@ # Generated by Django 4.0.4 on 2022-05-30 00:24 +import uuid + import django.contrib.auth.models import django.contrib.auth.validators -from django.db import migrations, models import django.utils.timezone -import uuid +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/apps/users/models.py b/apps/users/models.py index fc47e5d..1c176c8 100644 --- a/apps/users/models.py +++ b/apps/users/models.py @@ -3,11 +3,11 @@ from django.contrib.auth.models import AbstractUser from django.db import models - # ============================================================================= # MODELS # ============================================================================= + class User(AbstractUser): """Default user model.""" @@ -17,7 +17,7 @@ class User(AbstractUser): help_text=( "When true, the user is able to log in to the main website (and " "vice versa)" - ) + ), ) approval_notified = models.BooleanField( default=False, diff --git a/apps/users/signals.py b/apps/users/signals.py index ea77e0a..0915b4c 100644 --- a/apps/users/signals.py +++ b/apps/users/signals.py @@ -2,9 +2,8 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Permission -from django.dispatch import receiver from django.db.models.signals import post_save - +from django.dispatch import receiver # ============================================================================= # TYPES @@ -17,22 +16,22 @@ # CONSTANTS # ============================================================================= -BASIC_PERMISSIONS: Sequence[str] = ( - "users.can_view_dashboard", -) +BASIC_PERMISSIONS: Sequence[str] = ("users.can_view_dashboard",) # ============================================================================= # ACTIONS AND SIGNALS # ============================================================================= + def assign_basic_permissions(user: User) -> None: for perm_string in BASIC_PERMISSIONS: content_type_app_label, perm_code_name = perm_string.split(".") perm = Permission.objects.get( - content_type__app_label=content_type_app_label, codename=perm_code_name + codename=perm_code_name, + content_type__app_label=content_type_app_label, ) - user.user_permissions.add(perm) + user.user_permissions.add(perm) # type: ignore user.save() diff --git a/apps/users/tests.py b/apps/users/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/apps/users/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/apps/users/tests/__init__.py b/apps/users/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/users/tests/factories.py b/apps/users/tests/factories.py new file mode 100644 index 0000000..3754fca --- /dev/null +++ b/apps/users/tests/factories.py @@ -0,0 +1,37 @@ +import factory +from django.contrib.auth import get_user_model + +# ============================================================================= +# TYPES +# ============================================================================= + +User = get_user_model() + + +# ============================================================================= +# FACTORIES +# ============================================================================= + + +class UserFactory(factory.django.DjangoModelFactory): + """Factory for `app.users.models.User` model.""" + + username = factory.Sequence(lambda n: "user%d" % n) + email = factory.LazyAttribute(lambda u: "%s@example.test" % u.username) + password = factory.PostGenerationMethodCall("set_password", "ChangeMe12!!") + is_staff = False + + class Meta: + model = User + django_get_or_create = ("username",) + + +class AdminFactory(factory.django.DjangoModelFactory): + """Factory for `app.users.models.User` model. + + Each instance created using this factory will have it's *is_staff* method + set to `True`. + """ + + username = factory.Sequence(lambda n: "admin%d" % n) + is_staff = True diff --git a/apps/users/tests/test_models.py b/apps/users/tests/test_models.py new file mode 100644 index 0000000..efbbb0b --- /dev/null +++ b/apps/users/tests/test_models.py @@ -0,0 +1,23 @@ +from django.test import TestCase + +from apps.users.models import User + +from .factories import UserFactory + + +class UserTest(TestCase): + """Tests for the `User` model.""" + + def setUp(self) -> None: + super().setUp() + self.user: User = UserFactory.create( + first_name="Juha", last_name="Kalulu" + ) + + def test_name_property(self) -> None: + """Test the `self.name` property.""" + assert self.user.name == "Juha Kalulu" + + def test_representation(self) -> None: + """Test the `self.__str()__` method.""" + assert str(self.user) == "Juha Kalulu" diff --git a/apps/users/views.py b/apps/users/views.py index 91ea44a..e69de29 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/assets/static/css/project.css b/assets/static/css/project.css index 53007bf..7cd62a6 100644 --- a/assets/static/css/project.css +++ b/assets/static/css/project.css @@ -11113,4 +11113,4 @@ h3 { .row.align-page-content { display: grid !important; -} \ No newline at end of file +} diff --git a/assets/static/css/project.min.css b/assets/static/css/project.min.css index 14cfe8d..240a463 100644 --- a/assets/static/css/project.min.css +++ b/assets/static/css/project.min.css @@ -4,4 +4,4 @@ * Copyright 2011-2019 The Bootstrap Authors * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-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";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-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;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:24px;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:40px;font-size:2.5rem}.h2,h2{font-size:32px;font-size:2rem}.h3,h3{font-size:28px;font-size:1.75rem}.h4,h4{font-size:24px;font-size:1.5rem}.h5,h5{font-size:20px;font-size:1.25rem}.h6,h6{font-size:16px;font-size:1rem}.lead{font-size:20px;font-size:1.25rem;font-weight:300}.display-1{font-size:96px;font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:88px;font-size:5.5rem}.display-3{font-size:72px;font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:56px;font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:20px;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1,.col-auto{-webkit-box-flex:0}.col-1{-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-2,.col-3{-webkit-box-flex:0}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-4,.col-5{-webkit-box-flex:0}.col-5{-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-6,.col-7{-webkit-box-flex:0}.col-7{-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-8,.col-9{-webkit-box-flex:0}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-10,.col-11{-webkit-box-flex:0}.col-11{-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:20px;font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:14px;font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:20px;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:14px;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:14px;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center;margin-bottom:0}.form-inline .form-group{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:16px;font-size:1rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(38,143,255,.5);box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(38,143,255,.5);box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(130,138,145,.5);box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(130,138,145,.5);box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 .2rem rgba(72,180,97,.5);box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(72,180,97,.5);box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 .2rem rgba(58,176,195,.5);box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(58,176,195,.5);box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 .2rem rgba(222,170,12,.5);box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(222,170,12,.5);box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 .2rem rgba(225,83,97,.5);box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(225,83,97,.5);box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{-webkit-box-shadow:0 0 0 .2rem rgba(216,217,219,.5);box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(216,217,219,.5);box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{-webkit-box-shadow:0 0 0 .2rem rgba(82,88,93,.5);box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(82,88,93,.5);box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.5);box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.5);box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(108,117,125,.5);box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(108,117,125,.5);box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.5);box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.5);box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 .2rem rgba(23,162,184,.5);box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(23,162,184,.5);box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 .2rem rgba(255,193,7,.5);box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(255,193,7,.5);box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.5);box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.5);box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{-webkit-box-shadow:0 0 0 .2rem rgba(248,249,250,.5);box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(248,249,250,.5);box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{-webkit-box-shadow:0 0 0 .2rem rgba(52,58,64,.5);box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(52,58,64,.5);box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;-webkit-box-shadow:none;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:20px;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{-webkit-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{-webkit-transition:none;transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:16px;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:14px;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:20px;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:24px;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:4px;top:.25rem;left:-24px;left:-1.5rem;display:block;width:16px;width:1rem;height:16px;height:1rem;content:""}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-36px;left:-2.25rem;width:28px;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{-webkit-transition:none;transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 12px center/8px 10px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:14px;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:20px;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:16px;width:1rem;height:16px;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:8px;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:16px;width:1rem;height:16px;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:8px;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:16px;width:1rem;height:16px;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:8px;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{-webkit-transition:none;transition:none}}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:4px;border-top-left-radius:.25rem;border-top-right-radius:4px;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:20px;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:20px;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:4px;border-top-left-radius:.25rem;border-top-right-radius:4px;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-box-orient:horizontal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck,.card-deck .card{-webkit-box-direction:normal}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-top-left-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:4px;border-top-right-radius:.25rem;border-bottom-right-radius:4px;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:20px;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:4.8px;border-top-left-radius:.3rem;border-bottom-left-radius:4.8px;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:4.8px;border-top-right-radius:.3rem;border-bottom-right-radius:4.8px;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:3.2px;border-top-left-radius:.2rem;border-bottom-left-radius:3.2px;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:3.2px;border-top-right-radius:.2rem;border-bottom-right-radius:3.2px;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{-webkit-transition:none;transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.5);box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(108,117,125,.5);box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.5);box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(23,162,184,.5);box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(255,193,7,.5);box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.5);box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(248,249,250,.5);box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(52,58,64,.5);box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:16px;height:1rem;overflow:hidden;font-size:12px;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex}.progress-bar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:4px;border-top-left-radius:.25rem;border-top-right-radius:4px;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:4px;border-top-left-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:4px;border-top-right-radius:.25rem;border-bottom-right-radius:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:24px;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:14px;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);-webkit-box-shadow:0 .25rem .75rem rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{-webkit-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:4.8px;border-top-left-radius:.3rem;border-top-right-radius:4.8px;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:4.8px;border-bottom-right-radius:.3rem;border-bottom-left-radius:4.8px;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-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;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:14px;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:12.8px;width:.8rem;height:6.4px;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:6.4px;width:.4rem;height:12.8px;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:6.4px;width:.4rem;height:12.8px;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-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;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:14px;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:16px;width:1rem;height:8px;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem + -1px);width:8px;width:.5rem;height:16px;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:16px;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem + -1px);width:8px;width:.5rem;height:16px;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:16px;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{-webkit-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{-webkit-transition:none;transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{-webkit-transition:none;transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{display:inline-block;width:32px;width:2rem;height:32px;height:2rem;vertical-align:text-bottom;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:16px;width:1rem;height:16px;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:32px;width:2rem;height:32px;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:16px;width:1rem;height:16px;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:4px!important;border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:4px!important;border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:4px!important;border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:4px!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:4px!important;border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.8571428571%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column,.flex-row{-webkit-box-direction:normal!important}.flex-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse,.flex-row-reverse{-webkit-box-direction:reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column,.flex-sm-row{-webkit-box-direction:normal!important}.flex-sm-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column,.flex-md-row{-webkit-box-direction:normal!important}.flex-md-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column,.flex-lg-row{-webkit-box-direction:normal!important}.flex-lg-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column,.flex-xl-row{-webkit-box-direction:normal!important}.flex-xl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important;box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.alert-debug{background-color:#fff;border-color:#d6e9c6;color:#000}.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.login-background-image,.password-background-image,.register-background-image{background:url(https://keswa-kenya.org/wp-content/uploads/2019/06/PEFAR_Kenya_Logo.jpg);background-position:50%;background-size:cover}.center-form{margin:auto!important}.row.align-page-content{display:grid!important} \ No newline at end of file + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-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";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-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;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:24px;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:40px;font-size:2.5rem}.h2,h2{font-size:32px;font-size:2rem}.h3,h3{font-size:28px;font-size:1.75rem}.h4,h4{font-size:24px;font-size:1.5rem}.h5,h5{font-size:20px;font-size:1.25rem}.h6,h6{font-size:16px;font-size:1rem}.lead{font-size:20px;font-size:1.25rem;font-weight:300}.display-1{font-size:96px;font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:88px;font-size:5.5rem}.display-3{font-size:72px;font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:56px;font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:20px;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1,.col-auto{-webkit-box-flex:0}.col-1{-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-2,.col-3{-webkit-box-flex:0}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-4,.col-5{-webkit-box-flex:0}.col-5{-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-6,.col-7{-webkit-box-flex:0}.col-7{-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-8,.col-9{-webkit-box-flex:0}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-10,.col-11{-webkit-box-flex:0}.col-11{-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:20px;font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:14px;font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:20px;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:14px;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:14px;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center;margin-bottom:0}.form-inline .form-group{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:16px;font-size:1rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(38,143,255,.5);box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(38,143,255,.5);box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(130,138,145,.5);box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(130,138,145,.5);box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 .2rem rgba(72,180,97,.5);box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(72,180,97,.5);box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 .2rem rgba(58,176,195,.5);box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(58,176,195,.5);box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 .2rem rgba(222,170,12,.5);box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(222,170,12,.5);box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 .2rem rgba(225,83,97,.5);box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(225,83,97,.5);box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{-webkit-box-shadow:0 0 0 .2rem rgba(216,217,219,.5);box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(216,217,219,.5);box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{-webkit-box-shadow:0 0 0 .2rem rgba(82,88,93,.5);box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(82,88,93,.5);box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.5);box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.5);box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(108,117,125,.5);box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(108,117,125,.5);box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.5);box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.5);box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 .2rem rgba(23,162,184,.5);box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(23,162,184,.5);box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 .2rem rgba(255,193,7,.5);box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(255,193,7,.5);box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.5);box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.5);box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{-webkit-box-shadow:0 0 0 .2rem rgba(248,249,250,.5);box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(248,249,250,.5);box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{-webkit-box-shadow:0 0 0 .2rem rgba(52,58,64,.5);box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .2rem rgba(52,58,64,.5);box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;-webkit-box-shadow:none;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:20px;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{-webkit-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{-webkit-transition:none;transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:16px;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:14px;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:20px;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:24px;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:4px;top:.25rem;left:-24px;left:-1.5rem;display:block;width:16px;width:1rem;height:16px;height:1rem;content:""}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-36px;left:-2.25rem;width:28px;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{-webkit-transition:none;transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:16px;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 12px center/8px 10px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:14px;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:20px;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:16px;width:1rem;height:16px;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:8px;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:16px;width:1rem;height:16px;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:8px;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:16px;width:1rem;height:16px;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:8px;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{-webkit-transition:none;transition:none}}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:4px;border-top-left-radius:.25rem;border-top-right-radius:4px;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:20px;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:20px;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:4px;border-top-left-radius:.25rem;border-top-right-radius:4px;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-box-orient:horizontal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck,.card-deck .card{-webkit-box-direction:normal}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.25);box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-top-left-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:4px;border-top-right-radius:.25rem;border-bottom-right-radius:4px;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:20px;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:4.8px;border-top-left-radius:.3rem;border-bottom-left-radius:4.8px;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:4.8px;border-top-right-radius:.3rem;border-bottom-right-radius:4.8px;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:14px;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:3.2px;border-top-left-radius:.2rem;border-bottom-left-radius:3.2px;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:3.2px;border-top-right-radius:.2rem;border-bottom-right-radius:3.2px;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{-webkit-transition:none;transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(0,123,255,.5);box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(108,117,125,.5);box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.5);box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(23,162,184,.5);box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(255,193,7,.5);box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.5);box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(248,249,250,.5);box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(52,58,64,.5);box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:16px;height:1rem;overflow:hidden;font-size:12px;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex}.progress-bar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:4px;border-top-left-radius:.25rem;border-top-right-radius:4px;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:4px;border-top-left-radius:.25rem;border-bottom-left-radius:4px;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:4px;border-top-right-radius:.25rem;border-bottom-right-radius:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:24px;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:14px;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);-webkit-box-shadow:0 .25rem .75rem rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{-webkit-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:4.8px;border-top-left-radius:.3rem;border-top-right-radius:4.8px;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:4.8px;border-bottom-right-radius:.3rem;border-bottom-left-radius:4.8px;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-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;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:14px;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:12.8px;width:.8rem;height:6.4px;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:6.4px;width:.4rem;height:12.8px;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:6.4px;width:.4rem;height:12.8px;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-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;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:14px;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:16px;width:1rem;height:8px;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem + -1px);width:8px;width:.5rem;height:16px;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:16px;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem + -1px);width:8px;width:.5rem;height:16px;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:16px;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{-webkit-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{-webkit-transition:none;transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{-webkit-transition:none;transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{display:inline-block;width:32px;width:2rem;height:32px;height:2rem;vertical-align:text-bottom;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:16px;width:1rem;height:16px;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:32px;width:2rem;height:32px;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:16px;width:1rem;height:16px;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:4px!important;border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:4px!important;border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:4px!important;border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:4px!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:4px!important;border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.8571428571%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column,.flex-row{-webkit-box-direction:normal!important}.flex-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse,.flex-row-reverse{-webkit-box-direction:reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column,.flex-sm-row{-webkit-box-direction:normal!important}.flex-sm-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column,.flex-md-row{-webkit-box-direction:normal!important}.flex-md-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column,.flex-lg-row{-webkit-box-direction:normal!important}.flex-lg-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column,.flex-xl-row{-webkit-box-direction:normal!important}.flex-xl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important;box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.alert-debug{background-color:#fff;border-color:#d6e9c6;color:#000}.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.login-background-image,.password-background-image,.register-background-image{background:url(https://keswa-kenya.org/wp-content/uploads/2019/06/PEFAR_Kenya_Logo.jpg);background-position:50%;background-size:cover}.center-form{margin:auto!important}.row.align-page-content{display:grid!important} diff --git a/assets/static/images/favicons/browserconfig.xml b/assets/static/images/favicons/browserconfig.xml index 2ce07d1..3c8106e 100644 --- a/assets/static/images/favicons/browserconfig.xml +++ b/assets/static/images/favicons/browserconfig.xml @@ -1,2 +1,2 @@ -#ffffff \ No newline at end of file +#ffffff diff --git a/assets/static/images/favicons/manifest.json b/assets/static/images/favicons/manifest.json index 263dcf2..2ee3cc9 100644 --- a/assets/static/images/favicons/manifest.json +++ b/assets/static/images/favicons/manifest.json @@ -14,4 +14,4 @@ "density": "2.0" } ] -} \ No newline at end of file +} diff --git a/assets/static/images/undraw_posting_photo.svg b/assets/static/images/undraw_posting_photo.svg index d89836b..c292311 100644 --- a/assets/static/images/undraw_posting_photo.svg +++ b/assets/static/images/undraw_posting_photo.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/static/images/undraw_profile.svg b/assets/static/images/undraw_profile.svg index 588d118..1a3df44 100644 --- a/assets/static/images/undraw_profile.svg +++ b/assets/static/images/undraw_profile.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/static/images/undraw_profile_1.svg b/assets/static/images/undraw_profile_1.svg index 7d333b1..375b3db 100644 --- a/assets/static/images/undraw_profile_1.svg +++ b/assets/static/images/undraw_profile_1.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/static/images/undraw_profile_2.svg b/assets/static/images/undraw_profile_2.svg index e1d3be3..cf36b5d 100644 --- a/assets/static/images/undraw_profile_2.svg +++ b/assets/static/images/undraw_profile_2.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/static/images/undraw_profile_3.svg b/assets/static/images/undraw_profile_3.svg index 81ffc60..edd6758 100644 --- a/assets/static/images/undraw_profile_3.svg +++ b/assets/static/images/undraw_profile_3.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/static/images/undraw_rocket.svg b/assets/static/images/undraw_rocket.svg index cf189ff..7f79738 100644 --- a/assets/static/images/undraw_rocket.svg +++ b/assets/static/images/undraw_rocket.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/static/js/bootstrap-datepicker.min.js.map b/assets/static/js/bootstrap-datepicker.min.js.map index 909dbed..ea5857d 100644 --- a/assets/static/js/bootstrap-datepicker.min.js.map +++ b/assets/static/js/bootstrap-datepicker.min.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-datepicker.min.js","sources":["bootstrap-datepicker.min.js"],"sourcesContent":["/*!\n * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)\n *\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n\n!function(a){\"function\"==typeof define&&define.amd?define([\"jquery\"],a):a(\"object\"==typeof exports?require(\"jquery\"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp(\"^\"+c.toLowerCase()+\"([A-Z])\");c=new RegExp(\"^\"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split(\"-\")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split(\"-\")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(\",\")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:\"auto\",y:\"auto\"},i&&\"auto\"!==i)if(1===h.length)switch(h[0]){case\"top\":case\"bottom\":e.orientation.y=h[0];break;case\"left\":case\"right\":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||\"auto\",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||\"auto\";else;if(e.defaultViewDate instanceof Date||\"string\"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass(\"datepicker-orient-right\"),m+=l-b):this.o.rtl?this.picker.addClass(\"datepicker-orient-right\"):this.picker.addClass(\"datepicker-orient-left\");var o,p=this.o.orientation.y;if(\"auto\"===p&&(o=-f+n-c,p=o<0?\"bottom\":\"top\"),this.picker.addClass(\"datepicker-orient-\"+p),\"top\"===p?n-=c+parseInt(this.picker.css(\"padding-top\")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data(\"date\")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger(\"changeDate\"),this.element.change()),!this.dates.length&&b.length&&(this._trigger(\"clearDate\"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c=\"\";for(this.o.calendarWeeks&&(c+=' ');b\";c+=\"\",this.picker.find(\".datepicker-days thead\").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c=\"\",d=0;d<12;d++)a=b&&b.getMonth()===d?\" focused\":\"\",c+=''+q[this.o.language].monthsShort[d]+\"\";this.picker.find(\".datepicker-months td\").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push(\"new\"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push(\"focused\"),this.o.todayHighlight&&e(b,h)&&c.push(\"today\"),-1!==this.dates.contains(b)&&c.push(\"active\"),this.dateWithinRange(b)||c.push(\"disabled\"),this.dateIsDisabled(b)&&c.push(\"disabled\",\"disabled-date\"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push(\"highlighted\"),this.range&&(b>this.range[0]&&bh)&&j.push(\"disabled\"),t===r&&j.push(\"focused\"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:\"boolean\"==typeof l?l={enabled:l}:\"string\"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push(\"disabled\"),l.classes&&(j=j.concat(l.classes.split(/\\s+/))),l.tooltip&&(k=l.tooltip)),m+='\"+t+\"\";o.find(\".datepicker-switch\").text(p+\"-\"+q),o.find(\"td\").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||\"\",o=q[this.o.language].clear||q.en.clear||\"\",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||\"linked\"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(\".datepicker-days .datepicker-switch\").text(r.formatDate(g,p,this.o.language)),this.picker.find(\"tfoot .today\").text(n).css(\"display\",t?\"table-cell\":\"none\"),this.picker.find(\"tfoot .clear\").text(o).css(\"display\",!0===this.o.clearBtn?\"table-cell\":\"none\"),this.picker.find(\"thead .datepicker-title\").text(this.o.title).css(\"display\",\"string\"==typeof this.o.title&&\"\"!==this.o.title?\"table-cell\":\"none\"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()\"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+\"\")}y=this.getClassNames(u),y.push(\"day\");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:\"boolean\"==typeof f?f={enabled:f}:\"string\"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push(\"disabled\"),f.classes&&(y=y.concat(f.classes.split(/\\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+\"\"),e=null,x===this.o.weekEnd&&z.push(\"\"),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(\".datepicker-days tbody\").html(z.join(\"\"));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||\"Months\",G=this.picker.find(\".datepicker-months\").find(\".datepicker-switch\").text(this.o.maxViewMode<2?F:h).end().find(\"tbody span\").removeClass(\"active\");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass(\"active\")}),(hl)&&G.addClass(\"disabled\"),h===j&&G.slice(0,k).addClass(\"disabled\"),h===l&&G.slice(m+1).addClass(\"disabled\"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:\"boolean\"==typeof f?f={enabled:f}:\"string\"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass(\"disabled\")||a(d).addClass(\"disabled\"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop(\"title\",f.tooltip)})}this._fill_yearsView(\".datepicker-years\",\"year\",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(\".datepicker-decades\",\"decade\",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(\".datepicker-centuries\",\"century\",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(\".prev\").toggleClass(\"disabled\",a),this.picker.find(\".next\").toggleClass(\"disabled\",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass(\"datepicker-switch\")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass(\"today\")&&!e.hasClass(\"day\")&&(this.setViewMode(0),this._setDate(d(),\"linked\"===this.o.todayBtn?null:\"view\")),e.hasClass(\"clear\")&&this.clearDates(),e.hasClass(\"disabled\")||(e.hasClass(\"month\")||e.hasClass(\"year\")||e.hasClass(\"decade\")||e.hasClass(\"century\"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find(\"span\").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(\":visible\")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data(\"date\"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger(\"changeYear\",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger(\"changeMonth\",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass(\"prev\")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),\"number\"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&\"date\"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||\"view\"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&\"view\"===b||this._trigger(\"changeDate\"),this.inputField.trigger(\"change\"),!this.o.autoclose||b&&\"date\"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(\":visible\"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,\"moveYear\"))&&this._trigger(\"changeYear\",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,\"moveMonth\"))&&this._trigger(\"changeMonth\",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,\"moveDay\"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,\"moveWeek\")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,\"moveMonth\")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,\"moveYear\")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(\":visible\")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger(\"changeDate\"):this._trigger(\"clearDate\"),this.inputField.trigger(\"change\"))},setViewMode:function(a){this.viewMode=a,this.picker.children(\"div\").hide().filter(\".datepicker-\"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger(\"changeViewMode\",new Date(this.viewDate))}};var l=function(b,c){a.data(b,\"datepicker\",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on(\"changeDate\",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,\"datepicker\")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,\"datepicker\");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off(\"changeDate\",this.dateUpdated),delete this.element.data().datepicker},remove:f(\"destroy\",\"Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead\")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data(\"datepicker\"),g=\"object\"==typeof c&&c;if(!f){var j=h(this,\"date\"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass(\"input-daterange\")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find(\"input\").toArray()}),f=new l(this,p)):f=new k(this,p),b.data(\"datepicker\",f)}\"string\"==typeof c&&\"function\"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error(\"Using only allowed for the collection of a single element (\"+c+\" function)\");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:\"mm/dd/yyyy\",keepEmptyValues:!1,keyboardNavigation:!0,language:\"en\",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:\",\",orientation:\"auto\",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:\"body\",immediateUpdates:!1,title:\"\",templates:{leftArrow:\"«\",rightArrow:\"»\"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=[\"format\",\"rtl\",\"weekStart\"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],daysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],daysMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],today:\"Today\",clear:\"Clear\",titleFormat:\"MM yyyy\"}},r={viewModes:[{names:[\"days\",\"month\"],clsName:\"days\",e:\"changeMonth\"},{names:[\"months\",\"year\"],clsName:\"months\",e:\"changeYear\",navStep:1},{names:[\"years\",\"decade\"],clsName:\"years\",e:\"changeDecade\",navStep:10},{names:[\"decades\",\"century\"],clsName:\"decades\",e:\"changeCentury\",navStep:100},{names:[\"centuries\",\"millennium\"],clsName:\"centuries\",e:\"changeMillennium\",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\\/:-@\\u5e74\\u6708\\u65e5\\[-`{-~\\t\\n\\r]+/g,parseFormat:function(a){if(\"function\"==typeof a.toValue&&\"function\"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,\"\\0\").split(\"\\0\"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error(\"Invalid date format.\");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if(\"string\"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:\"moveDay\",m:\"moveMonth\",w:\"moveWeek\",y:\"moveYear\"},s={yesterday:\"-1d\",today:\"+0d\",tomorrow:\"+1d\"};if(c in s&&(c=s[c]),/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\\-+]\\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+\"\",contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+\"\"+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+\"
\",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version=\"1.9.0\",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn(\"DEPRECATED: \"+a)},a(document).on(\"focus.datepicker.data-api click.datepicker.data-api\",'[data-provide=\"datepicker\"]',function(b){var c=a(this);c.data(\"datepicker\")||(b.preventDefault(),n.call(c,\"show\"))}),a(function(){n.call(a('[data-provide=\"datepicker-inline\"]'))})});"],"names":["a","define","amd","exports","require","jQuery","b","c","Date","UTC","apply","arguments","d","getFullYear","getMonth","getDate","e","getUTCFullYear","getUTCMonth","getUTCDate","f","fn","datepicker","deprecated","this","k","data","_events","_secondaryEvents","_process_options","dates","j","viewDate","o","defaultViewDate","focusDate","element","isInput","is","inputField","find","component","hasClass","length","isInline","picker","r","template","_check_template","templates","leftArrow","html","rightArrow","_buildEvents","_attachEvents","addClass","appendTo","rtl","calendarWeeks","attr","Number","startDate","_o","endDate","daysOfWeekDisabled","daysOfWeekHighlighted","datesDisabled","_allow_update","setViewMode","startView","fillDow","fillMonths","update","show","l","inputs","map","jquery","keepEmptyValues","n","call","on","proxy","dateUpdated","pickers","updateDates","get","slice","contains","valueOf","remove","splice","replace","isArray","clear","push","copy","extend","m","prototype","constructor","_resolveViewName","each","viewModes","inArray","names","_resolveDaysOfWeek","split","match","language","g","q","minViewMode","maxViewMode","Math","max","min","multidate","multidateSeparator","String","weekStart","weekEnd","parseFormat","format","h","_local_to_utc","_zero_time","parseDate","assumeNearbyYear","orientation","toLowerCase","i","grep","test","x","y","year","month","day","_applyEvents","_unapplyEvents","off","keyup","keyCode","keydown","paste","showOnFocus","focus","click","blur","_focused_from","target","immediateUpdates","changeYear changeMonth","date","navArrowsClick","dayCellClick","window","resize","place","document","mousedown touchstart","hide","_detachEvents","_attachSecondaryEvents","_detachSecondaryEvents","_trigger","_utc_to_local","trigger","type","viewMode","formatDate","prop","enableOnReadonly","container","navigator","msMaxTouchPoints","disableTouchKeyboard","detach","forceParse","val","setValue","destroy","originalEvent","clipboardData","types","getData","setDate","preventDefault","getTime","getTimezoneOffset","_zero_utc_time","getDates","getUTCDates","clearDates","autoclose","setDates","setUTCDates","setUTCDate","getFormattedDate","join","getStartDate","setStartDate","updateNavArrows","getEndDate","setEndDate","setDaysOfWeekDisabled","setDaysOfWeekHighlighted","setDatesDisabled","outerWidth","outerHeight","width","scrollTop","offset","parents","css","zIndexOffset","parent","left","top","removeClass","p","parseInt","right","zIndex","dateWithinRange","updateViewDate","change","fill","showWeekDays","daysMin","append","monthsShort","setRange","range","getClassNames","todayHighlight","dateIsDisabled","getUTCDay","_fill_yearsView","floor","s","t","noop","enabled","classes","concat","tooltip","text","today","en","titleFormat","todayBtn","weekOfDateIsDisabled","isNaN","clearBtn","title","u","v","w","setUTCFullYear","z","A","B","C","E","beforeShowDay","content","isFunction","uniqueSort","unique","toString","H","F","monthsTitle","G","end","eq","beforeShowMonth","beforeShowYear","beforeShowDecade","beforeShowCentury","toggleClass","stopPropagation","_setDate","index","setUTCMonth","currentTarget","navStep","moveMonth","_toggle_multidate","toggleActive","moveDay","moveWeek","abs","moveYear","moveAvailableDate","keyboardNavigation","ctrlKey","shiftKey","children","filter","clsName","updateRanges","updating","Array","shift","RegExp","toArray","Error","defaults","locale_opts","Constructor","days","daysShort","months","validParts","nonpunctuation","toValue","toDisplay","separators","parts","yesterday","tomorrow","yyyy","yy","M","MM","mm","dd","D","DD","substring","headTemplate","contTemplate","footTemplate","DPGlobal","noConflict","version","console","warn"],"mappings":"CAMC,SAASA,GAAG,mBAAmBC,QAAQA,OAAOC,IAAID,OAAO,CAAC,UAAUD,GAAGA,EAAE,iBAAiBG,QAAQC,QAAQ,UAAUC,QAApH,CAA6H,SAASL,EAAEM,GAAG,SAASC,IAAI,OAAO,IAAIC,KAAKA,KAAKC,IAAIC,MAAMF,KAAKG,YAAY,SAASC,IAAI,IAAIZ,EAAE,IAAIQ,KAAK,OAAOD,EAAEP,EAAEa,cAAcb,EAAEc,WAAWd,EAAEe,WAAW,SAASC,EAAEhB,EAAEM,GAAG,OAAON,EAAEiB,mBAAmBX,EAAEW,kBAAkBjB,EAAEkB,gBAAgBZ,EAAEY,eAAelB,EAAEmB,eAAeb,EAAEa,aAAa,SAASC,EAAEb,EAAEK,GAAG,OAAO,WAAW,OAAOA,IAAIN,GAAGN,EAAEqB,GAAGC,WAAWC,WAAWX,GAAGY,KAAKjB,GAAGG,MAAMc,KAAKb,YAAs4B,SAAFc,EAAWnB,EAAEC,GAAGP,EAAE0B,KAAKpB,EAAE,aAAakB,MAAMA,KAAKG,QAAQ,GAAGH,KAAKI,iBAAiB,GAAGJ,KAAKK,iBAAiBtB,GAAGiB,KAAKM,MAAM,IAAIC,EAAEP,KAAKQ,SAASR,KAAKS,EAAEC,gBAAgBV,KAAKW,UAAU,KAAKX,KAAKY,QAAQpC,EAAEM,GAAGkB,KAAKa,QAAQb,KAAKY,QAAQE,GAAG,SAASd,KAAKe,WAAWf,KAAKa,QAAQb,KAAKY,QAAQZ,KAAKY,QAAQI,KAAK,SAAShB,KAAKiB,YAAYjB,KAAKY,QAAQM,SAAS,SAASlB,KAAKY,QAAQI,KAAK,gFAAgFhB,KAAKiB,WAAW,IAAIjB,KAAKiB,UAAUE,SAASnB,KAAKiB,WAAU,GAAIjB,KAAKoB,UAAUpB,KAAKiB,WAAWjB,KAAKY,QAAQE,GAAG,OAAOd,KAAKqB,OAAO7C,EAAE8C,EAAEC,UAAUvB,KAAKwB,gBAAgBxB,KAAKS,EAAEgB,UAAUC,YAAY1B,KAAKqB,OAAOL,KAAK,SAASW,KAAK3B,KAAKS,EAAEgB,UAAUC,WAAW1B,KAAKwB,gBAAgBxB,KAAKS,EAAEgB,UAAUG,aAAa5B,KAAKqB,OAAOL,KAAK,SAASW,KAAK3B,KAAKS,EAAEgB,UAAUG,YAAY5B,KAAK6B,eAAe7B,KAAK8B,gBAAgB9B,KAAKoB,SAASpB,KAAKqB,OAAOU,SAAS,qBAAqBC,SAAShC,KAAKY,SAASZ,KAAKqB,OAAOU,SAAS,qCAAqC/B,KAAKS,EAAEwB,KAAKjC,KAAKqB,OAAOU,SAAS,kBAAkB/B,KAAKS,EAAEyB,eAAelC,KAAKqB,OAAOL,KAAK,4FAA4FmB,KAAK,UAAU,SAAS3D,EAAEM,GAAG,OAAOsD,OAAOtD,GAAG,IAAIkB,KAAKK,iBAAiB,CAACgC,UAAUrC,KAAKsC,GAAGD,UAAUE,QAAQvC,KAAKsC,GAAGC,QAAQC,mBAAmBxC,KAAKS,EAAE+B,mBAAmBC,sBAAsBzC,KAAKS,EAAEgC,sBAAsBC,cAAc1C,KAAKS,EAAEiC,gBAAgB1C,KAAK2C,eAAc,EAAG3C,KAAK4C,YAAY5C,KAAKS,EAAEoC,WAAW7C,KAAK2C,eAAc,EAAG3C,KAAK8C,UAAU9C,KAAK+C,aAAa/C,KAAKgD,SAAShD,KAAKoB,UAAUpB,KAAKiD,OAA6hsB,SAAFC,EAAWpE,EAAEC,GAAGP,EAAE0B,KAAKpB,EAAE,aAAakB,MAAMA,KAAKY,QAAQpC,EAAEM,GAAGkB,KAAKmD,OAAO3E,EAAE4E,IAAIrE,EAAEoE,OAAO,SAAS3E,GAAG,OAAOA,EAAE6E,OAAO7E,EAAE,GAAGA,WAAWO,EAAEoE,OAAOnD,KAAKsD,gBAAgBvE,EAAEuE,uBAAuBvE,EAAEuE,gBAAgBC,EAAEC,KAAKhF,EAAEwB,KAAKmD,QAAQpE,GAAG0E,GAAG,aAAajF,EAAEkF,MAAM1D,KAAK2D,YAAY3D,OAAOA,KAAK4D,QAAQpF,EAAE4E,IAAIpD,KAAKmD,OAAO,SAASrE,GAAG,OAAON,EAAE0B,KAAKpB,EAAE,gBAAgBkB,KAAK6D,cAA74wB/E,EAAE,CAACgF,IAAI,SAAStF,GAAG,OAAOwB,KAAK+D,MAAMvF,GAAG,IAAIwF,SAAS,SAASxF,GAAG,IAAI,IAAIM,EAAEN,GAAGA,EAAEyF,UAAUlF,EAAE,EAAEK,EAAEY,KAAKmB,OAAOpC,EAAEK,EAAEL,IAAI,GAAG,GAAGiB,KAAKjB,GAAGkF,UAAUnF,GAAGkB,KAAKjB,GAAGkF,UAAUnF,EAAE,MAAM,OAAOC,EAAE,OAAO,GAAGmF,OAAO,SAAS1F,GAAGwB,KAAKmE,OAAO3F,EAAE,IAAI4F,QAAQ,SAAStF,GAAGA,IAAIN,EAAE6F,QAAQvF,KAAKA,EAAE,CAACA,IAAIkB,KAAKsE,QAAQtE,KAAKuE,KAAKrF,MAAMc,KAAKlB,KAAKwF,MAAM,WAAWtE,KAAKmB,OAAO,GAAGqD,KAAK,WAAW,IAAIhG,EAAE,IAAI+B,EAAE,OAAO/B,EAAE4F,QAAQpE,MAAMxB,IAA9Z,IAAqBM,EAAjByB,EAAqa,WAAW,IAAIxB,EAAE,GAAG,OAAOA,EAAEwF,KAAKrF,MAAMH,EAAEI,WAAWX,EAAEiG,OAAO1F,EAAED,GAAGC,GAAyhyB2F,GAA79uBzE,EAAE0E,UAAU,CAACC,YAAY3E,EAAE4E,iBAAiB,SAAS/F,GAAG,OAAON,EAAEsG,KAAKxD,EAAEyD,UAAU,SAAShG,EAAEK,GAAG,GAAGN,IAAIC,IAAI,IAAIP,EAAEwG,QAAQlG,EAAEM,EAAE6F,OAAO,OAAOnG,EAAEC,GAAE,IAAKD,GAAGoG,mBAAmB,SAASpG,GAAG,OAAON,EAAE6F,QAAQvF,KAAKA,EAAEA,EAAEqG,MAAM,WAAW3G,EAAE4E,IAAItE,EAAEsD,SAASZ,gBAAgB,SAASzC,GAAG,IAAI,OAAGA,IAAID,GAAG,KAAKC,GAAQ,GAAOA,EAAEqG,MAAM,UAAU,IAAIjE,QAAQ,GAA8B,EAAZ3C,EAAEO,GAAGoC,OAAS,MAAM3C,GAAG,OAAM,IAAK6B,iBAAiB,SAASvB,GAAGkB,KAAKsC,GAAG9D,EAAEiG,OAAO,GAAGzE,KAAKsC,GAAGxD,GAAG,IAA8hEmB,EAA6BiD,EAAvjE1D,EAAEQ,KAAKS,EAAEjC,EAAEiG,OAAO,GAAGzE,KAAKsC,IAAI1C,EAAEJ,EAAE6F,SAA6fC,GAApfC,EAAE3F,KAAKA,EAAEA,EAAEuF,MAAM,KAAK,GAAGI,EAAE3F,KAAKA,EAAEa,EAAE4E,WAAW7F,EAAE6F,SAASzF,EAAEJ,EAAEqD,UAAU7C,KAAK6E,iBAAiBrF,EAAEqD,WAAWrD,EAAEgG,YAAYxF,KAAK6E,iBAAiBrF,EAAEgG,aAAahG,EAAEiG,YAAYzF,KAAK6E,iBAAiBrF,EAAEiG,aAAajG,EAAEqD,UAAU6C,KAAKC,IAAI3F,KAAKS,EAAE+E,YAAYE,KAAKE,IAAI5F,KAAKS,EAAEgF,YAAYjG,EAAEqD,aAAY,IAAKrD,EAAEqG,YAAYrG,EAAEqG,UAAUzD,OAAO5C,EAAEqG,aAAY,GAAG,IAAKrG,EAAEqG,YAAYrG,EAAEqG,UAAUH,KAAKC,IAAI,EAAEnG,EAAEqG,aAAarG,EAAEsG,mBAAmBC,OAAOvG,EAAEsG,oBAAoBtG,EAAEwG,WAAW,EAAExG,EAAEyG,SAASzG,EAAEwG,UAAU,GAAG,EAAQ1E,EAAE4E,YAAY1G,EAAE2G,SAAuwBC,GAA/vB5G,EAAE6C,aAAY,EAAA,IAAO7C,EAAE6C,UAAU7C,EAAE6C,qBAAqBrD,KAAKQ,EAAE6C,UAAUrC,KAAKqG,cAAcrG,KAAKsG,WAAW9G,EAAE6C,YAAY7C,EAAE6C,UAAUf,EAAEiF,UAAU/G,EAAE6C,UAAUiD,EAAE9F,EAAE6F,SAAS7F,EAAEgH,kBAAkBhH,EAAE6C,WAAU,EAAA,GAAM7C,EAAE+C,UAAU,EAAA,IAAM/C,EAAE+C,QAAQ/C,EAAE+C,mBAAmBvD,KAAKQ,EAAE+C,QAAQvC,KAAKqG,cAAcrG,KAAKsG,WAAW9G,EAAE+C,UAAU/C,EAAE+C,QAAQjB,EAAEiF,UAAU/G,EAAE+C,QAAQ+C,EAAE9F,EAAE6F,SAAS7F,EAAEgH,kBAAkBhH,EAAE+C,QAAQ,EAAA,GAAK/C,EAAEgD,mBAAmBxC,KAAKkF,mBAAmB1F,EAAEgD,oBAAoB,IAAIhD,EAAEiD,sBAAsBzC,KAAKkF,mBAAmB1F,EAAEiD,uBAAuB,IAAIjD,EAAEkD,cAAclD,EAAEkD,eAAe,GAAGlE,EAAE6F,QAAQ7E,EAAEkD,iBAAiBlD,EAAEkD,cAAclD,EAAEkD,cAAcyC,MAAM,MAAM3F,EAAEkD,cAAclE,EAAE4E,IAAI5D,EAAEkD,cAAc,SAASlE,GAAG,OAAO8C,EAAEiF,UAAU/H,EAAE8G,EAAE9F,EAAE6F,SAAS7F,EAAEgH,oBAA0BT,OAAOvG,EAAEiH,aAAaC,cAAcvB,MAAM,SAAQwB,EAAEnH,EAAEiH,YAAYC,cAAiBN,EAAE5H,EAAEoI,KAAKR,EAAE,SAAS5H,GAAG,MAAM,+BAA+BqI,KAAKrI,KAApE,GAAyEgB,EAAEiH,YAAY,CAACK,EAAE,OAAOC,EAAE,QAAQJ,GAAG,SAASA,EAAE,GAAG,IAAIP,EAAEjF,OAAO,OAAOiF,EAAE,IAAI,IAAI,MAAM,IAAI,SAAS5G,EAAEiH,YAAYM,EAAEX,EAAE,GAAG,MAAM,IAAI,OAAO,IAAI,QAAQ5G,EAAEiH,YAAYK,EAAEV,EAAE,QAAQO,EAAEnI,EAAEoI,KAAKR,EAAE,SAAS5H,GAAG,MAAM,eAAeqI,KAAKrI,KAAKgB,EAAEiH,YAAYK,EAAEH,EAAE,IAAI,OAAOA,EAAEnI,EAAEoI,KAAKR,EAAE,SAAS5H,GAAG,MAAM,eAAeqI,KAAKrI,KAAKgB,EAAEiH,YAAYM,EAAEJ,EAAE,IAAI,OAAenH,EAAEkB,2BAA2B1B,MAAM,iBAAiBQ,EAAEkB,gBAAgBlB,EAAEkB,gBAAgBY,EAAEiF,UAAU/G,EAAEkB,gBAAgB4E,EAAE9F,EAAE6F,SAAS7F,EAAEgH,kBAA0BhH,EAAEkB,iBAAqBH,EAAEf,EAAEkB,gBAAgBsG,OAAM,IAAKhI,MAAMK,cAAcY,EAAET,EAAEkB,gBAAgBuG,OAAO,EAAE/D,EAAE1D,EAAEkB,gBAAgBwG,KAAK,EAAE1H,EAAEkB,gBAAgB3B,EAAEwB,EAAEN,EAAEiD,IAAQ1D,EAAEkB,gBAAgBtB,KAAK+H,aAAa,SAAS3I,GAAG,IAAI,IAAIO,EAAEK,EAAEI,EAAEI,EAAE,EAAEA,EAAEpB,EAAE2C,OAAOvB,IAAIb,EAAEP,EAAEoB,GAAG,GAAG,IAAIpB,EAAEoB,GAAGuB,QAAQ/B,EAAEN,EAAEU,EAAEhB,EAAEoB,GAAG,IAAI,IAAIpB,EAAEoB,GAAGuB,SAAS/B,EAAEZ,EAAEoB,GAAG,GAAGJ,EAAEhB,EAAEoB,GAAG,IAAIb,EAAE0E,GAAGjE,EAAEJ,IAAIgI,eAAe,SAAS5I,GAAG,IAAI,IAAIO,EAAEK,EAAEI,EAAEI,EAAE,EAAEA,EAAEpB,EAAE2C,OAAOvB,IAAIb,EAAEP,EAAEoB,GAAG,GAAG,IAAIpB,EAAEoB,GAAGuB,QAAQ3B,EAAEV,EAAEM,EAAEZ,EAAEoB,GAAG,IAAI,IAAIpB,EAAEoB,GAAGuB,SAAS3B,EAAEhB,EAAEoB,GAAG,GAAGR,EAAEZ,EAAEoB,GAAG,IAAIb,EAAEsI,IAAIjI,EAAEI,IAAIqC,aAAa,WAAW,IAAI/C,EAAE,CAACwI,MAAM9I,EAAEkF,MAAM,SAAS5E,IAAI,IAAIN,EAAEwG,QAAQlG,EAAEyI,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKvH,KAAKgD,UAAUhD,MAAMwH,QAAQhJ,EAAEkF,MAAM1D,KAAKwH,QAAQxH,MAAMyH,MAAMjJ,EAAEkF,MAAM1D,KAAKyH,MAAMzH,QAAO,IAAKA,KAAKS,EAAEiH,cAAc5I,EAAE6I,MAAMnJ,EAAEkF,MAAM1D,KAAKiD,KAAKjD,OAAOA,KAAKa,QAAQb,KAAKG,QAAQ,CAAC,CAACH,KAAKY,QAAQ9B,IAAIkB,KAAKiB,WAAWjB,KAAKe,WAAWI,OAAOnB,KAAKG,QAAQ,CAAC,CAACH,KAAKe,WAAWjC,GAAG,CAACkB,KAAKiB,UAAU,CAAC2G,MAAMpJ,EAAEkF,MAAM1D,KAAKiD,KAAKjD,SAASA,KAAKG,QAAQ,CAAC,CAACH,KAAKY,QAAQ,CAACgH,MAAMpJ,EAAEkF,MAAM1D,KAAKiD,KAAKjD,MAAMwH,QAAQhJ,EAAEkF,MAAM1D,KAAKwH,QAAQxH,SAASA,KAAKG,QAAQoE,KAAK,CAACvE,KAAKY,QAAQ,IAAI,CAACiH,KAAKrJ,EAAEkF,MAAM,SAASlF,GAAGwB,KAAK8H,cAActJ,EAAEuJ,QAAQ/H,QAAQ,CAACA,KAAKY,QAAQ,CAACiH,KAAKrJ,EAAEkF,MAAM,SAASlF,GAAGwB,KAAK8H,cAActJ,EAAEuJ,QAAQ/H,SAASA,KAAKS,EAAEuH,kBAAkBhI,KAAKG,QAAQoE,KAAK,CAACvE,KAAKY,QAAQ,CAACqH,yBAAyBzJ,EAAEkF,MAAM,SAASlF,GAAGwB,KAAKgD,OAAOxE,EAAE0J,OAAOlI,SAASA,KAAKI,iBAAiB,CAAC,CAACJ,KAAKqB,OAAO,CAACuG,MAAMpJ,EAAEkF,MAAM1D,KAAK4H,MAAM5H,QAAQ,CAACA,KAAKqB,OAAO,eAAe,CAACuG,MAAMpJ,EAAEkF,MAAM1D,KAAKmI,eAAenI,QAAQ,CAACA,KAAKqB,OAAO,sBAAsB,CAACuG,MAAMpJ,EAAEkF,MAAM1D,KAAKoI,aAAapI,QAAQ,CAACxB,EAAE6J,QAAQ,CAACC,OAAO9J,EAAEkF,MAAM1D,KAAKuI,MAAMvI,QAAQ,CAACxB,EAAEgK,UAAU,CAACC,uBAAuBjK,EAAEkF,MAAM,SAASlF,GAAGwB,KAAKY,QAAQE,GAAGtC,EAAEuJ,SAAS/H,KAAKY,QAAQI,KAAKxC,EAAEuJ,QAAQ5G,QAAQnB,KAAKqB,OAAOP,GAAGtC,EAAEuJ,SAAS/H,KAAKqB,OAAOL,KAAKxC,EAAEuJ,QAAQ5G,QAAQnB,KAAKoB,UAAUpB,KAAK0I,QAAQ1I,UAAU8B,cAAc,WAAW9B,KAAK2I,gBAAgB3I,KAAKmH,aAAanH,KAAKG,UAAUwI,cAAc,WAAW3I,KAAKoH,eAAepH,KAAKG,UAAUyI,uBAAuB,WAAW5I,KAAK6I,yBAAyB7I,KAAKmH,aAAanH,KAAKI,mBAAmByI,uBAAuB,WAAW7I,KAAKoH,eAAepH,KAAKI,mBAAmB0I,SAAS,SAAShK,EAAEC,GAAOK,EAAEL,GAAGiB,KAAKM,MAAMwD,KAAK,GAAGtE,EAAEQ,KAAK+I,cAAc3J,GAAGY,KAAKY,QAAQoI,QAAQ,CAACC,KAAKnK,EAAEoJ,KAAK1I,EAAE0J,SAASlJ,KAAKkJ,SAAS5I,MAAM9B,EAAE4E,IAAIpD,KAAKM,MAAMN,KAAK+I,eAAe5C,OAAO3H,EAAEkF,MAAM,SAASlF,EAAEM,GAAG,IAAIK,UAAUgC,QAAQ3C,EAAEwB,KAAKM,MAAMa,OAAO,EAAErC,EAAEkB,KAAKS,EAAE0F,QAAQ,iBAAiB3H,IAAIM,EAAEN,EAAEA,EAAEwB,KAAKM,MAAMa,OAAO,GAAGrC,EAAEA,GAAGkB,KAAKS,EAAE0F,OAAO,IAAIpH,EAAEiB,KAAKM,MAAMwD,IAAItF,GAAG,OAAO8C,EAAE6H,WAAWpK,EAAED,EAAEkB,KAAKS,EAAE4E,WAAWrF,SAASiD,KAAK,WAAW,KAAKjD,KAAKe,WAAWD,GAAG,cAAcd,KAAKe,WAAWqI,KAAK,cAAa,IAAKpJ,KAAKS,EAAE4I,kBAAkB,OAAOrJ,KAAKoB,UAAUpB,KAAKqB,OAAOW,SAAShC,KAAKS,EAAE6I,WAAWtJ,KAAKuI,QAAQvI,KAAKqB,OAAO4B,OAAOjD,KAAK4I,yBAAyB5I,KAAK8I,SAAS,SAAST,OAAOkB,UAAUC,kBAAkB,iBAAiBhB,WAAWxI,KAAKS,EAAEgJ,sBAAsBjL,EAAEwB,KAAKY,SAASiH,OAAO7H,MAAM0I,KAAK,WAAW,OAAO1I,KAAKoB,WAAWpB,KAAKqB,OAAOP,GAAG,cAAkBd,KAAKW,UAAU,KAAKX,KAAKqB,OAAOqH,OAAOgB,SAAS1J,KAAK6I,yBAAyB7I,KAAK4C,YAAY5C,KAAKS,EAAEoC,WAAW7C,KAAKS,EAAEkJ,YAAY3J,KAAKe,WAAW6I,OAAO5J,KAAK6J,WAAW7J,KAAK8I,SAAS,SAA/L9I,MAA8M8J,QAAQ,WAAW,OAAO9J,KAAK0I,OAAO1I,KAAK2I,gBAAgB3I,KAAK6I,yBAAyB7I,KAAKqB,OAAO6C,gBAAgBlE,KAAKY,QAAQV,OAAOJ,WAAWE,KAAKa,gBAAgBb,KAAKY,QAAQV,OAAOgI,KAAKlI,MAAMyH,MAAM,SAAS3I,GAAG,IAAIC,EAAE,GAAGD,EAAEiL,cAAcC,eAAelL,EAAEiL,cAAcC,cAAcC,QAAQ,IAAIzL,EAAEwG,QAAQ,aAAalG,EAAEiL,cAAcC,cAAcC,OAAOlL,EAAED,EAAEiL,cAAcC,cAAcE,QAAQ,kBAAkB,CAAC,IAAI7B,OAAO2B,cAAc,OAAOjL,EAAEsJ,OAAO2B,cAAcE,QAAQ,QAAQlK,KAAKmK,QAAQpL,GAAGiB,KAAKgD,SAASlE,EAAEsL,kBAAkBrB,cAAc,SAASvK,GAAG,IAAIA,EAAE,OAAOA,EAAE,IAAIM,EAAE,IAAIE,KAAKR,EAAE6L,UAAU,IAAI7L,EAAE8L,qBAAqB,OAAuDxL,EAAhDA,EAAEwL,sBAAsB9L,EAAE8L,oBAAwB,IAAItL,KAAKR,EAAE6L,UAAU,IAAIvL,EAAEwL,qBAAsBxL,GAAGuH,cAAc,SAAS7H,GAAG,OAAOA,GAAG,IAAIQ,KAAKR,EAAE6L,UAAU,IAAI7L,EAAE8L,sBAAsBhE,WAAW,SAAS9H,GAAG,OAAOA,GAAG,IAAIQ,KAAKR,EAAEa,cAAcb,EAAEc,WAAWd,EAAEe,YAAYgL,eAAe,SAAS/L,GAAG,OAAOA,GAAGO,EAAEP,EAAEiB,iBAAiBjB,EAAEkB,cAAclB,EAAEmB,eAAe6K,SAAS,WAAW,OAAOhM,EAAE4E,IAAIpD,KAAKM,MAAMN,KAAK+I,gBAAgB0B,YAAY,WAAW,OAAOjM,EAAE4E,IAAIpD,KAAKM,MAAM,SAAS9B,GAAG,OAAO,IAAIQ,KAAKR,MAAMe,QAAQ,WAAW,OAAOS,KAAK+I,cAAc/I,KAAKL,eAAeA,WAAW,WAAW,IAAInB,EAAEwB,KAAKM,MAAMwD,KAAK,GAAG,OAAOtF,IAAIM,EAAE,IAAIE,KAAKR,GAAG,MAAMkM,WAAW,WAAW1K,KAAKe,WAAW6I,IAAI,IAAI5J,KAAKgD,SAAShD,KAAK8I,SAAS,cAAc9I,KAAKS,EAAEkK,WAAW3K,KAAK0I,QAAQkC,SAAS,WAAW,IAAI9L,EAAEN,EAAE6F,QAAQlF,UAAU,IAAIA,UAAU,GAAGA,UAAU,OAAOa,KAAKgD,OAAO9D,MAAMc,KAAKlB,GAAGkB,KAAK8I,SAAS,cAAc9I,KAAK6J,WAAW7J,MAAM6K,YAAY,WAAW,IAAI/L,EAAEN,EAAE6F,QAAQlF,UAAU,IAAIA,UAAU,GAAGA,UAAU,OAAOa,KAAK4K,SAAS1L,MAAMc,KAAKxB,EAAE4E,IAAItE,EAAEkB,KAAK+I,gBAAgB/I,MAAMmK,QAAQvK,EAAE,YAAYkL,WAAWlL,EAAE,eAAesE,OAAOtE,EAAE,UAAU,2FAA2FiK,SAAS,WAAW,IAAIrL,EAAEwB,KAAK+K,mBAAmB,OAAO/K,KAAKe,WAAW6I,IAAIpL,GAAGwB,MAAM+K,iBAAiB,SAAShM,GAAGA,IAAID,IAAIC,EAAEiB,KAAKS,EAAE0F,QAAQ,IAAI/G,EAAEY,KAAKS,EAAE4E,SAAS,OAAO7G,EAAE4E,IAAIpD,KAAKM,MAAM,SAAS9B,GAAG,OAAO8C,EAAE6H,WAAW3K,EAAEO,EAAEK,KAAK4L,KAAKhL,KAAKS,EAAEqF,qBAAqBmF,aAAa,WAAW,OAAOjL,KAAKS,EAAE4B,WAAW6I,aAAa,SAAS1M,GAAG,OAAOwB,KAAKK,iBAAiB,CAACgC,UAAU7D,IAAIwB,KAAKgD,SAAShD,KAAKmL,kBAAkBnL,MAAMoL,WAAW,WAAW,OAAOpL,KAAKS,EAAE8B,SAAS8I,WAAW,SAAS7M,GAAG,OAAOwB,KAAKK,iBAAiB,CAACkC,QAAQ/D,IAAIwB,KAAKgD,SAAShD,KAAKmL,kBAAkBnL,MAAMsL,sBAAsB,SAAS9M,GAAG,OAAOwB,KAAKK,iBAAiB,CAACmC,mBAAmBhE,IAAIwB,KAAKgD,SAAShD,MAAMuL,yBAAyB,SAAS/M,GAAG,OAAOwB,KAAKK,iBAAiB,CAACoC,sBAAsBjE,IAAIwB,KAAKgD,SAAShD,MAAMwL,iBAAiB,SAAShN,GAAG,OAAOwB,KAAKK,iBAAiB,CAACqC,cAAclE,IAAIwB,KAAKgD,SAAShD,MAAMuI,MAAM,WAAW,GAAGvI,KAAKoB,SAAS,OAAOpB,KAAK,IAAIlB,EAAEkB,KAAKqB,OAAOoK,aAAa1M,EAAEiB,KAAKqB,OAAOqK,cAActM,EAAEZ,EAAEwB,KAAKS,EAAE6I,WAAW9J,EAAEJ,EAAEuM,QAAQ/L,GAAE,SAASI,KAAKS,EAAE6I,UAAU9K,EAAEgK,UAAsBpJ,GAAZwM,YAA0BtG,EAAElG,EAAEyM,SAASzF,EAAE,CAAC,GAA0HO,GAAvH3G,KAAKY,QAAQkL,UAAUhH,KAAK,WAAW,IAAIhG,EAAEN,EAAEwB,MAAM+L,IAAI,WAAW,SAASjN,GAAG,IAAIsD,OAAOtD,IAAIsH,EAAE7B,KAAKnC,OAAOtD,MAAY4G,KAAKC,IAAIzG,MAAMwG,KAAKU,GAAGpG,KAAKS,EAAEuL,cAAazL,GAAEP,KAAKiB,UAAUjB,KAAKiB,UAAUgL,SAAkBjM,KAAKY,SAAdiL,SAA+B5L,EAAED,KAAKiB,UAAUjB,KAAKiB,UAAUyK,aAAY,GAAI1L,KAAKY,QAAQ8K,aAAY,GAAIxI,EAAElD,KAAKiB,UAAUjB,KAAKiB,UAAUwK,YAAW,GAAIzL,KAAKY,QAAQ6K,YAAW,GAAI/G,EAAEnE,EAAE2L,KAAK5G,EAAE4G,KAAK3I,EAAEhD,EAAE4L,IAAI7G,EAAE6G,IAAI,SAASnM,KAAKS,EAAE6I,YAAY/F,GAAG3D,GAAGI,KAAKqB,OAAO+K,YAAY,iGAAiG,SAASpM,KAAKS,EAAEgG,YAAYK,GAAG9G,KAAKqB,OAAOU,SAAS,qBAAqB/B,KAAKS,EAAEgG,YAAYK,GAAG,UAAU9G,KAAKS,EAAEgG,YAAYK,IAAIpC,GAAG5F,EAAEoE,IAAI3C,EAAE2L,KAAK,GAAGlM,KAAKqB,OAAOU,SAAS,0BAA0B2C,GAAGnE,EAAE2L,KAAK,IAAQ1M,EAAJkF,EAAE5F,GAAKkB,KAAKqB,OAAOU,SAAS,2BAA2B2C,GAAGxB,EAAEpE,GAAGkB,KAAKS,EAAEwB,IAAIjC,KAAKqB,OAAOU,SAAS,2BAA2B/B,KAAKqB,OAAOU,SAAS,0BAAgCsK,EAAErM,KAAKS,EAAEgG,YAAYM,EAA6Q,MAAxQ,SAASsF,IAAaA,GAANzM,EAAE2D,EAAExE,EAAM,EAAE,SAAS,OAAOiB,KAAKqB,OAAOU,SAAS,qBAAqBsK,GAAG,QAAQA,EAAE9I,GAAGxE,EAAEuN,SAAStM,KAAKqB,OAAO0K,IAAI,gBAAgBxI,GAAGtD,EAAED,KAAKS,EAAEwB,IAAmBjC,KAAKqB,OAAO0K,IAAI,CAACI,IAAI5I,EAAEgJ,MAA/B/M,GAAGkF,EAAExB,GAAkCsJ,OAAO7F,IAAS3G,KAAKqB,OAAO0K,IAAI,CAACI,IAAI5I,EAAE2I,KAAKxH,EAAE8H,OAAO7F,IAAW3G,MAAM2C,eAAc,EAAGK,OAAO,WAAW,IAAIhD,KAAK2C,cAAc,OAAO3C,KAAK,IAAIlB,EAAEkB,KAAKM,MAAMkE,OAAOzF,EAAE,GAAGK,GAAE,EAAG,OAAOD,UAAUgC,QAAQ3C,EAAEsG,KAAK3F,UAAUX,EAAEkF,MAAM,SAASlF,EAAEM,GAAGA,aAAaE,OAAOF,EAAEkB,KAAKqG,cAAcvH,IAAIC,EAAEwF,KAAKzF,IAAIkB,OAAOZ,GAAE,IAAwFL,GAAnFA,EAAEiB,KAAKa,QAAQb,KAAKY,QAAQgJ,MAAM5J,KAAKY,QAAQV,KAAK,SAASF,KAAKe,WAAW6I,QAAW5J,KAAKS,EAAEoF,UAAU9G,EAAEoG,MAAMnF,KAAKS,EAAEqF,oBAAoB,CAAC/G,UAAUiB,KAAKY,QAAQV,OAAOgI,MAAMnJ,EAAEP,EAAE4E,IAAIrE,EAAEP,EAAEkF,MAAM,SAASlF,GAAG,OAAO8C,EAAEiF,UAAU/H,EAAEwB,KAAKS,EAAE0F,OAAOnG,KAAKS,EAAE4E,SAASrF,KAAKS,EAAE+F,mBAAmBxG,OAAOjB,EAAEP,EAAEoI,KAAK7H,EAAEP,EAAEkF,MAAM,SAASlF,GAAG,OAAOwB,KAAKyM,gBAAgBjO,KAAKA,GAAGwB,OAAM,GAAIA,KAAKM,MAAM8D,QAAQrF,GAAGiB,KAAKS,EAAEiM,iBAAiB1M,KAAKM,MAAMa,OAAOnB,KAAKQ,SAAS,IAAIxB,KAAKgB,KAAKM,MAAMwD,KAAK,IAAI9D,KAAKQ,SAASR,KAAKS,EAAE4B,UAAUrC,KAAKQ,SAAS,IAAIxB,KAAKgB,KAAKS,EAAE4B,WAAWrC,KAAKQ,SAASR,KAAKS,EAAE8B,QAAQvC,KAAKQ,SAAS,IAAIxB,KAAKgB,KAAKS,EAAE8B,SAASvC,KAAKQ,SAASR,KAAKS,EAAEC,iBAAiBtB,GAAGY,KAAK6J,WAAW7J,KAAKY,QAAQ+L,UAAU3M,KAAKM,MAAMa,QAAQ4E,OAAOjH,KAAKiH,OAAO/F,KAAKM,QAAQlB,IAAIY,KAAK8I,SAAS,cAAc9I,KAAKY,QAAQ+L,WAAW3M,KAAKM,MAAMa,QAAQrC,EAAEqC,SAASnB,KAAK8I,SAAS,aAAa9I,KAAKY,QAAQ+L,UAAU3M,KAAK4M,OAAO5M,MAAM8C,QAAQ,WAAW,GAAG9C,KAAKS,EAAEoM,aAAa,CAAC,IAAI/N,EAAEkB,KAAKS,EAAEuF,UAAUjH,EAAE,OAAO,IAAIiB,KAAKS,EAAEyB,gBAAgBnD,GAAG,8BAA8BD,EAAEkB,KAAKS,EAAEuF,UAAU,GAAGjH,GAAG,kBAAkB,IAAIP,EAAEwG,QAAQlG,EAAEkB,KAAKS,EAAE+B,sBAAsBzD,GAAG,aAAaA,GAAG,KAAKwG,EAAEvF,KAAKS,EAAE4E,UAAUyH,QAAQhO,IAAI,GAAG,QAAQC,GAAG,QAAQiB,KAAKqB,OAAOL,KAAK,0BAA0B+L,OAAOhO,KAAKgE,WAAW,WAAW,IAAI,IAAMjE,EAAEkB,KAAK+I,cAAc/I,KAAKQ,UAAUzB,EAAE,GAAGK,EAAE,EAAEA,EAAE,GAAGA,IAAwCL,GAAG,sBAArCD,GAAGA,EAAEQ,aAAaF,EAAE,WAAW,IAA6B,KAAKmG,EAAEvF,KAAKS,EAAE4E,UAAU2H,YAAY5N,GAAG,UAAUY,KAAKqB,OAAOL,KAAK,yBAAyBW,KAAK5C,IAAIkO,SAAS,SAASnO,GAAGA,GAAGA,EAAEqC,OAAOnB,KAAKkN,MAAM1O,EAAE4E,IAAItE,EAAE,SAASN,GAAG,OAAOA,EAAEyF,mBAAmBjE,KAAKkN,MAAMlN,KAAK4M,QAAQO,cAAc,SAASrO,GAAG,IAAIC,EAAE,GAAGa,EAAEI,KAAKQ,SAASf,iBAAiB6F,EAAEtF,KAAKQ,SAASd,cAAc0G,EAAEhH,IAAI,OAAON,EAAEW,iBAAiBG,GAAGd,EAAEW,mBAAmBG,GAAGd,EAAEY,cAAc4F,EAAEvG,EAAEwF,KAAK,QAAQzF,EAAEW,iBAAiBG,GAAGd,EAAEW,mBAAmBG,GAAGd,EAAEY,cAAc4F,IAAIvG,EAAEwF,KAAK,OAAOvE,KAAKW,WAAW7B,EAAEmF,YAAYjE,KAAKW,UAAUsD,WAAWlF,EAAEwF,KAAK,WAAWvE,KAAKS,EAAE2M,gBAAgB5N,EAAEV,EAAEsH,IAAIrH,EAAEwF,KAAK,UAAU,IAAIvE,KAAKM,MAAM0D,SAASlF,IAAIC,EAAEwF,KAAK,UAAUvE,KAAKyM,gBAAgB3N,IAAIC,EAAEwF,KAAK,YAAYvE,KAAKqN,eAAevO,IAAIC,EAAEwF,KAAK,WAAW,kBAAkB,IAAI/F,EAAEwG,QAAQlG,EAAEwO,YAAYtN,KAAKS,EAAEgC,wBAAwB1D,EAAEwF,KAAK,eAAevE,KAAKkN,QAAQpO,EAAEkB,KAAKkN,MAAM,IAAIpO,EAAEkB,KAAKkN,MAAMlN,KAAKkN,MAAM/L,OAAO,IAAIpC,EAAEwF,KAAK,UAAU,IAAI/F,EAAEwG,QAAQlG,EAAEmF,UAAUjE,KAAKkN,QAAQnO,EAAEwF,KAAK,YAAYzF,EAAEmF,YAAYjE,KAAKkN,MAAM,IAAInO,EAAEwF,KAAK,eAAezF,EAAEmF,YAAYjE,KAAKkN,MAAMlN,KAAKkN,MAAM/L,OAAO,IAAIpC,EAAEwF,KAAK,cAAcxF,GAAGwO,gBAAgB,SAASxO,EAAEK,EAAEI,EAAEI,EAAE0F,EAAEc,EAAEO,GAAG,IAAI,IAAIpG,EAAEN,EAAEiD,EAAEwB,EAAE,GAAGnB,EAAE/D,EAAE,GAAGiB,EAAET,KAAKqB,OAAOL,KAAKjC,GAAGsN,EAAE3G,KAAK8H,MAAM5N,EAAEJ,GAAGA,EAAE+F,EAAE8G,EAAE,EAAE9I,EAAEjC,EAAEoE,KAAK8H,MAAMxN,KAAKQ,SAASnB,cAAckE,GAAGA,EAAEkK,EAAEjP,EAAE4E,IAAIpD,KAAKM,MAAM,SAAS9B,GAAG,OAAOkH,KAAK8H,MAAMhP,EAAEiB,iBAAiB8D,GAAGA,IAAImK,EAAErB,EAAE9I,EAAEmK,GAAGnI,EAAEhC,EAAEmK,GAAGnK,EAAEhD,EAAE,CAACnB,GAAGa,EAAE,KAAKyN,IAAIrB,EAAE9I,EAAEhD,EAAEgE,KAAK,OAAOmJ,IAAInI,EAAEhC,GAAGhD,EAAEgE,KAAK,QAAQ,IAAI/F,EAAEwG,QAAQ0I,EAAED,IAAIlN,EAAEgE,KAAK,WAAWmJ,EAAEpI,GAAKc,EAAFsH,IAAMnN,EAAEgE,KAAK,YAAYmJ,IAAIpM,GAAGf,EAAEgE,KAAK,WAAWoC,IAAInI,EAAEmP,QAAOzK,EAAEyD,EAAE,IAAI3H,KAAK0O,EAAE,EAAE,OAAQ5O,EAAEoE,EAAE,GAAG,kBAAkBA,EAAEA,EAAE,CAAC0K,QAAQ1K,GAAG,iBAAiBA,IAAIA,EAAE,CAAC2K,QAAQ3K,KAAI,IAAKA,EAAE0K,SAASrN,EAAEgE,KAAK,YAAYrB,EAAE2K,UAAUtN,EAAEA,EAAEuN,OAAO5K,EAAE2K,QAAQ1I,MAAM,SAASjC,EAAE6K,UAAU9N,EAAEiD,EAAE6K,UAAUrJ,GAAG,gBAAgBnE,EAAEyK,KAAK,KAAK,KAAK/K,EAAE,WAAWA,EAAE,IAAI,IAAI,IAAIyN,EAAE,UAAUjN,EAAEO,KAAK,sBAAsBgN,KAAK3B,EAAE,IAAI9G,GAAG9E,EAAEO,KAAK,MAAMW,KAAK+C,IAAIkI,KAAK,WAAW,IAAIpN,EAAEI,EAAE0F,EAAE,IAAItG,KAAKgB,KAAKQ,UAAU4F,EAAEd,EAAE7F,iBAAiBkH,EAAErB,EAAE5F,cAAca,EAAEP,KAAKS,EAAE4B,aAAY,EAAA,EAAKrC,KAAKS,EAAE4B,UAAU5C,kBAAiB,EAAA,EAAKQ,EAAED,KAAKS,EAAE4B,aAAY,EAAA,EAAKrC,KAAKS,EAAE4B,UAAU3C,eAAc,EAAA,EAAKwD,EAAElD,KAAKS,EAAE8B,UAAU,EAAA,EAAIvC,KAAKS,EAAE8B,QAAQ9C,iBAAiB,EAAA,EAAIiF,EAAE1E,KAAKS,EAAE8B,UAAU,EAAA,EAAIvC,KAAKS,EAAE8B,QAAQ7C,cAAc,EAAA,EAAI6D,EAAEgC,EAAEvF,KAAKS,EAAE4E,UAAU4I,OAAO1I,EAAE2I,GAAGD,OAAO,GAAGxN,EAAE8E,EAAEvF,KAAKS,EAAE4E,UAAUf,OAAOiB,EAAE2I,GAAG5J,OAAO,GAAG+H,EAAE9G,EAAEvF,KAAKS,EAAE4E,UAAU8I,aAAa5I,EAAE2I,GAAGC,YAAYV,EAAErO,IAAIsO,IAAG,IAAK1N,KAAKS,EAAE2N,UAAU,WAAWpO,KAAKS,EAAE2N,WAAWX,GAAGzN,KAAKS,EAAE4B,WAAWoL,GAAGzN,KAAKS,EAAE8B,UAAUvC,KAAKqO,qBAAqBZ,GAAG,IAAIa,MAAMlI,KAAKkI,MAAM3H,GAAG,CAAC3G,KAAKqB,OAAOL,KAAK,uCAAuCgN,KAAK1M,EAAE6H,WAAW7D,EAAE+G,EAAErM,KAAKS,EAAE4E,WAAWrF,KAAKqB,OAAOL,KAAK,gBAAgBgN,KAAKzK,GAAGwI,IAAI,UAAU2B,EAAE,aAAa,QAAQ1N,KAAKqB,OAAOL,KAAK,gBAAgBgN,KAAKvN,GAAGsL,IAAI,WAAU,IAAK/L,KAAKS,EAAE8N,SAAS,aAAa,QAAQvO,KAAKqB,OAAOL,KAAK,2BAA2BgN,KAAKhO,KAAKS,EAAE+N,OAAOzC,IAAI,UAAU,iBAAiB/L,KAAKS,EAAE+N,OAAO,KAAKxO,KAAKS,EAAE+N,MAAM,aAAa,QAAQxO,KAAKmL,kBAAkBnL,KAAK+C,aAAa,IAAI0L,EAAE1P,EAAEqH,EAAEO,EAAE,GAAG+H,EAAED,EAAE9O,aAAsEgP,GAAzDF,EAAE3D,WAAW4D,GAAGD,EAAEnB,YAAYtN,KAAKS,EAAEuF,UAAU,GAAG,GAAS,IAAIhH,KAAKyP,IAAGA,EAAEhP,iBAAiB,KAAKkP,EAAEC,eAAeH,EAAEhP,kBAAkBkP,EAAE7D,WAAW6D,EAAEhP,aAAa,IAAkB,IAAI,IAAImH,EAAtB6H,EAAEA,EAAE1K,UAAsB4K,EAAE,GAAGJ,EAAExK,UAAU0K,GAAG,EAAK7H,EAAE2H,EAAEnB,eAAetN,KAAKS,EAAEuF,YAAY6I,EAAEtK,KAAK,QAAQvE,KAAKS,EAAEyB,iBAAoB4M,EAAE,IAAI9P,MAAMyP,GAAGzO,KAAKS,EAAEuF,UAAUc,EAAE,GAAG,EAAE,OAAOiI,EAAE,IAAI/P,KAAKoD,OAAO0M,IAAI,GAAGA,EAAExB,aAAa,EAAE,OAAO0B,EAAE,IAAIhQ,KAAKoD,OAAO4M,EAAEjQ,EAAEgQ,EAAEtP,iBAAiB,EAAE,KAAK,GAAGuP,EAAE1B,aAAa,EAAE,OAAyBuB,EAAEtK,KAAK,oBAAtBwK,EAAEC,GAAG,MAAM,EAAE,GAA6B,WAASjI,EAAE/G,KAAKmN,cAAcsB,IAAKlK,KAAK,OAAnV,IAAkIwK,EAA4NE,EAAER,EAAE9O,aAAaK,KAAKS,EAAEyO,gBAAgB1Q,EAAEmP,QAAO/N,EAAEI,KAAKS,EAAEyO,cAAclP,KAAK+I,cAAc0F,OAAQ3P,EAAEc,EAAE,GAAG,kBAAkBA,EAAEA,EAAE,CAACgO,QAAQhO,GAAG,iBAAiBA,IAAIA,EAAE,CAACiO,QAAQjO,KAAI,IAAKA,EAAEgO,SAAS7G,EAAExC,KAAK,YAAY3E,EAAEiO,UAAU9G,EAAEA,EAAE+G,OAAOlO,EAAEiO,QAAQ1I,MAAM,SAASvF,EAAEmO,UAAUvO,EAAEI,EAAEmO,SAASnO,EAAEuP,UAAUF,EAAErP,EAAEuP,UAAUpI,EAAEvI,EAAE4Q,WAAW5Q,EAAE6Q,YAAY7Q,EAAE6Q,WAAWtI,GAAGvI,EAAE8Q,OAAOvI,GAAG8H,EAAEtK,KAAK,cAAcwC,EAAEiE,KAAK,KAAK,KAAKxL,EAAE,WAAWA,EAAE,IAAI,IAAI,eAAeiP,EAAEpE,UAAUkF,WAAW,KAAKN,EAAE,SAASzP,EAAE,KAAKsH,IAAI9G,KAAKS,EAAEwF,SAAS4I,EAAEtK,KAAK,SAASkK,EAAE3D,WAAW2D,EAAE9O,aAAa,GAAGK,KAAKqB,OAAOL,KAAK,0BAA0BW,KAAKkN,EAAE7D,KAAK,KAAK,IAAmdwE,EAA/cC,EAAElK,EAAEvF,KAAKS,EAAE4E,UAAUqK,aAAanK,EAAE2I,GAAGwB,aAAa,SAASC,EAAE3P,KAAKqB,OAAOL,KAAK,sBAAsBA,KAAK,sBAAsBgN,KAAKhO,KAAKS,EAAEgF,YAAY,EAAEgK,EAAErJ,GAAGwJ,MAAM5O,KAAK,cAAcoL,YAAY,UAAa5N,EAAEsG,KAAK9E,KAAKM,MAAM,SAAS9B,EAAEM,GAAGA,EAAEW,mBAAmB2G,GAAGuJ,EAAEE,GAAG/Q,EAAEY,eAAeqC,SAAS,aAAaqE,EAAE7F,GAAK2C,EAAFkD,IAAMuJ,EAAE5N,SAAS,YAAYqE,IAAI7F,GAAGoP,EAAE5L,MAAM,EAAE9D,GAAG8B,SAAS,YAAYqE,IAAIlD,GAAGyM,EAAE5L,MAAMW,EAAE,GAAG3C,SAAS,YAAY/B,KAAKS,EAAEqP,kBAAkBtR,EAAEmP,OAAU6B,EAAExP,KAAKxB,EAAEsG,KAAK6K,EAAE,SAAS5Q,EAAEK,GAAOI,EAAE,IAAIR,KAAKoH,EAAErH,EAAE,GAAGa,EAAE4P,EAAE/O,EAAEqP,gBAAgBtQ,GAAGI,IAAId,EAAEc,EAAE,GAAG,kBAAkBA,EAAEA,EAAE,CAACgO,QAAQhO,GAAG,iBAAiBA,IAAIA,EAAE,CAACiO,QAAQjO,KAAI,IAAKA,EAAEgO,SAASpP,EAAEY,GAAG8B,SAAS,aAAa1C,EAAEY,GAAG2C,SAAS,YAAYnC,EAAEiO,SAASrP,EAAEY,GAAG2C,SAASnC,EAAEiO,SAASjO,EAAEmO,SAASvP,EAAEY,GAAGgK,KAAK,QAAQxJ,EAAEmO,YAAW/N,KAAKuN,gBAAgB,oBAAoB,OAAO,GAAGnH,EAAE7F,EAAE2C,EAAElD,KAAKS,EAAEsP,gBAAgB/P,KAAKuN,gBAAgB,sBAAsB,SAAS,IAAInH,EAAE7F,EAAE2C,EAAElD,KAAKS,EAAEuP,kBAAkBhQ,KAAKuN,gBAAgB,wBAAwB,UAAU,IAAInH,EAAE7F,EAAE2C,EAAElD,KAAKS,EAAEwP,qBAAqB9E,gBAAgB,WAAW,GAAGnL,KAAK2C,cAAc,CAAC,IAAInE,EAAEM,EAAEC,EAAE,IAAIC,KAAKgB,KAAKQ,UAAUpB,EAAEL,EAAEU,iBAAiBD,EAAET,EAAEW,cAAcE,EAAEI,KAAKS,EAAE4B,aAAY,EAAA,EAAKrC,KAAKS,EAAE4B,UAAU5C,kBAAiB,EAAA,EAAK6F,EAAEtF,KAAKS,EAAE4B,aAAY,EAAA,EAAKrC,KAAKS,EAAE4B,UAAU3C,eAAc,EAAA,EAAK0G,EAAEpG,KAAKS,EAAE8B,UAAU,EAAA,EAAIvC,KAAKS,EAAE8B,QAAQ9C,iBAAiB,EAAA,EAAIkH,EAAE3G,KAAKS,EAAE8B,UAAU,EAAA,EAAIvC,KAAKS,EAAE8B,QAAQ7C,cAAc,EAAA,EAAIa,EAAE,EAAE,OAAOP,KAAKkJ,UAAU,KAAK,EAAE3I,GAAG,GAAG,KAAK,EAAEA,GAAG,GAAG,KAAK,EAAEA,GAAG,GAAG,KAAK,EAAE/B,EAAEkH,KAAK8H,MAAMpO,EAAEmB,GAAGA,GAAGX,EAAEd,EAAE4G,KAAK8H,MAAMpO,EAAEmB,GAAGA,EAAEA,EAAE6F,EAAE,MAAM,KAAK,EAAE5H,EAAEY,GAAGQ,GAAGJ,GAAG8F,EAAExG,EAAKsH,GAAHhH,GAASuH,GAAHnH,EAAKQ,KAAKqB,OAAOL,KAAK,SAASkP,YAAY,WAAW1R,GAAGwB,KAAKqB,OAAOL,KAAK,SAASkP,YAAY,WAAWpR,KAAK8I,MAAM,SAAS9I,GAA0C,IAAQwG,EAAEc,EAAjDtH,EAAEsL,iBAAiBtL,EAAEqR,mBAA8B3Q,EAAEhB,EAAEM,EAAEiJ,SAAU7G,SAAS,sBAAsBlB,KAAKkJ,WAAWlJ,KAAKS,EAAEgF,aAAazF,KAAK4C,YAAY5C,KAAKkJ,SAAS,GAAG1J,EAAE0B,SAAS,WAAW1B,EAAE0B,SAAS,SAASlB,KAAK4C,YAAY,GAAG5C,KAAKoQ,SAAShR,IAAI,WAAWY,KAAKS,EAAE2N,SAAS,KAAK,SAAS5O,EAAE0B,SAAS,UAAUlB,KAAK0K,aAAalL,EAAE0B,SAAS,cAAc1B,EAAE0B,SAAS,UAAU1B,EAAE0B,SAAS,SAAS1B,EAAE0B,SAAS,WAAW1B,EAAE0B,SAAS,cAAclB,KAAKQ,SAASsK,WAAW,GAAK,IAAM9K,KAAKkJ,UAAU9C,EAAE5G,EAAEyM,SAASjL,KAAK,QAAQqP,MAAM7Q,GAAG8F,EAAEtF,KAAKQ,SAASf,iBAAiBO,KAAKQ,SAAS8P,YAAYlK,KAAKA,EAAE,EAAEd,EAAElD,OAAO5C,EAAEwO,QAAQhO,KAAKQ,SAASoO,eAAetJ,IAAItF,KAAK8I,SAASxH,EAAEyD,UAAU/E,KAAKkJ,SAAS,GAAG1J,EAAEQ,KAAKQ,UAAUR,KAAKkJ,WAAWlJ,KAAKS,EAAE+E,YAAYxF,KAAKoQ,SAASrR,EAAEuG,EAAEc,EAAjS,KAAwSpG,KAAK4C,YAAY5C,KAAKkJ,SAAS,GAAGlJ,KAAK4M,SAAS5M,KAAKqB,OAAOP,GAAG,aAAad,KAAK8H,eAAe9H,KAAK8H,cAAcH,eAAe3H,KAAK8H,eAAeM,aAAa,SAAStJ,GAA4BM,EAAnBZ,EAAEM,EAAEyR,eAAmBrQ,KAAK,QAAQV,EAAE,IAAIR,KAAKI,GAAGY,KAAKS,EAAEiM,iBAAiBlN,EAAEC,mBAAmBO,KAAKQ,SAASf,kBAAkBO,KAAK8I,SAAS,aAAa9I,KAAKQ,UAAUhB,EAAEE,gBAAgBM,KAAKQ,SAASd,eAAeM,KAAK8I,SAAS,cAAc9I,KAAKQ,WAAWR,KAAKoQ,SAAS5Q,IAAI2I,eAAe,SAASrJ,GAA4BM,EAAnBZ,EAAEM,EAAEyR,eAAmBrP,SAAS,SAAS,EAAE,EAAE,IAAIlB,KAAKkJ,WAAW9J,GAAG,GAAGkC,EAAEyD,UAAU/E,KAAKkJ,UAAUsH,SAASxQ,KAAKQ,SAASR,KAAKyQ,UAAUzQ,KAAKQ,SAASpB,GAAGY,KAAK8I,SAASxH,EAAEyD,UAAU/E,KAAKkJ,UAAU1J,EAAEQ,KAAKQ,UAAUR,KAAK4M,QAAQ8D,kBAAkB,SAASlS,GAAG,IAAIM,EAAEkB,KAAKM,MAAM0D,SAASxF,GAAG,GAAGA,GAAGwB,KAAKM,MAAMgE,SAAS,IAAIxF,IAAG,IAAKkB,KAAKS,EAAEoF,WAA4B,EAAjB7F,KAAKS,EAAEoF,WAAa7F,KAAKS,EAAEkQ,eAAe3Q,KAAKM,MAAM4D,OAAOpF,KAAG,IAAKkB,KAAKS,EAAEoF,WAAW7F,KAAKM,MAAMgE,QAAQtE,KAAKM,MAAMiE,KAAK/F,IAAuB,iBAAiBwB,KAAKS,EAAEoF,UAAU,KAAK7F,KAAKM,MAAMa,OAAOnB,KAAKS,EAAEoF,WAAW7F,KAAKM,MAAM4D,OAAO,IAAIkM,SAAS,SAAS5R,EAAEM,GAAGA,GAAG,SAASA,GAAGkB,KAAK0Q,kBAAkBlS,GAAG,IAAIQ,KAAKR,MAAMM,GAAGkB,KAAKS,EAAEiM,gBAAgB,SAAS5N,KAAKkB,KAAKQ,SAAShC,GAAG,IAAIQ,KAAKR,IAAIwB,KAAK4M,OAAO5M,KAAK6J,WAAW/K,GAAG,SAASA,GAAGkB,KAAK8I,SAAS,cAAc9I,KAAKe,WAAWiI,QAAQ,WAAWhJ,KAAKS,EAAEkK,WAAW7L,GAAG,SAASA,GAAGkB,KAAK0I,QAAQkI,QAAQ,SAASpS,EAAEM,GAAG,IAAIC,EAAE,IAAIC,KAAKR,GAAG,OAAOO,EAAE+L,WAAWtM,EAAEmB,aAAab,GAAGC,GAAG8R,SAAS,SAASrS,EAAEM,GAAG,OAAOkB,KAAK4Q,QAAQpS,EAAE,EAAEM,IAAI2R,UAAU,SAASjS,EAAEM,GAAG,KAAnnrBN,EAAynrBA,IAA3mrB8P,MAAM9P,EAAE6L,WAAsmrB,OAAOrK,KAAKS,EAAEC,gBAArprB,IAAWlC,EAA0prB,IAAIM,EAAE,OAAON,EAAE,IAAIO,EAAEK,EAAEI,EAAE,IAAIR,KAAKR,EAAEyF,WAAWrE,EAAEJ,EAAEG,aAAayG,EAAE5G,EAAEE,cAAciH,EAAEjB,KAAKoL,IAAIhS,GAAG,GAAGA,EAAI,EAAFA,EAAI,GAAG,EAAE,IAAI6H,EAAEvH,GAAG,IAAIN,EAAE,WAAW,OAAOU,EAAEE,gBAAgB0G,GAAG,WAAW,OAAO5G,EAAEE,gBAAgBX,GAAGA,EAAEqH,EAAEtH,EAAEU,EAAE8Q,YAAYvR,GAAGA,GAAGA,EAAE,IAAI,OAAO,CAAC,IAAI,IAAIwB,EAAE,EAAEA,EAAEoG,EAAEpG,IAAIf,EAAEQ,KAAKyQ,UAAUjR,EAAEV,GAAGC,EAAES,EAAEE,cAAcF,EAAEsL,WAAWlL,GAAGR,EAAE,WAAW,OAAOL,IAAIS,EAAEE,eAAe,KAAKN,KAAKI,EAAEsL,aAAalL,GAAGJ,EAAE8Q,YAAYvR,GAAG,OAAOS,GAAGuR,SAAS,SAASvS,EAAEM,GAAG,OAAOkB,KAAKyQ,UAAUjS,EAAE,GAAGM,IAAIkS,kBAAkB,SAASxS,EAAEM,EAAEC,GAAG,GAAG,GAAGP,EAAEwB,KAAKjB,GAAGP,EAAEM,IAAIkB,KAAKyM,gBAAgBjO,GAAG,OAAM,QAAGO,EAAE,UAAgBiB,KAAKqN,eAAe7O,IAAI,OAAOA,GAAG6P,qBAAqB,SAASvP,GAAG,OAAO,IAAIN,EAAEwG,QAAQlG,EAAEwO,YAAYtN,KAAKS,EAAE+B,qBAAqB6K,eAAe,SAASvO,GAAG,OAAOkB,KAAKqO,qBAAqBvP,IAAmE,EAA/DN,EAAEoI,KAAK5G,KAAKS,EAAEiC,cAAc,SAASlE,GAAG,OAAOgB,EAAEV,EAAEN,KAAK2C,QAAUsL,gBAAgB,SAASjO,GAAG,OAAOA,GAAGwB,KAAKS,EAAE4B,WAAW7D,GAAGwB,KAAKS,EAAE8B,SAASiF,QAAQ,SAAShJ,GAAG,GAAIwB,KAAKqB,OAAOP,GAAG,YAAnB,CAA8G,IAAIhC,EAAEC,EAAEK,GAAE,EAAGI,EAAEQ,KAAKW,WAAWX,KAAKQ,SAAS,OAAOhC,EAAE+I,SAAS,KAAK,GAAGvH,KAAKW,WAAWX,KAAKW,UAAU,KAAKX,KAAKQ,SAASR,KAAKM,MAAMwD,KAAK,IAAI9D,KAAKQ,SAASR,KAAK4M,QAAQ5M,KAAK0I,OAAOlK,EAAE4L,iBAAiB5L,EAAE2R,kBAAkB,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAInQ,KAAKS,EAAEwQ,oBAAoB,IAAIjR,KAAKS,EAAE+B,mBAAmBrB,OAAO,MAAMrC,EAAE,KAAKN,EAAE+I,SAAS,KAAK/I,EAAE+I,SAAS,EAAE,EAAE,IAAIvH,KAAKkJ,SAAS1K,EAAE0S,SAASnS,EAAEiB,KAAKgR,kBAAkBxR,EAAEV,EAAE,cAAckB,KAAK8I,SAAS,aAAa9I,KAAKQ,UAAUhC,EAAE2S,UAAUpS,EAAEiB,KAAKgR,kBAAkBxR,EAAEV,EAAE,eAAekB,KAAK8I,SAAS,cAAc9I,KAAKQ,UAAU,KAAKhC,EAAE+I,SAAS,KAAK/I,EAAE+I,QAAQxI,EAAEiB,KAAKgR,kBAAkBxR,EAAEV,EAAE,WAAWkB,KAAKqO,qBAAqB7O,KAAKT,EAAEiB,KAAKgR,kBAAkBxR,EAAEV,EAAE,aAAa,IAAIkB,KAAKkJ,UAAU,KAAK1K,EAAE+I,SAAS,KAAK/I,EAAE+I,UAAUzI,GAAG,GAAGC,EAAEiB,KAAKgR,kBAAkBxR,EAAEV,EAAE,cAAc,IAAIkB,KAAKkJ,WAAW,KAAK1K,EAAE+I,SAAS,KAAK/I,EAAE+I,UAAUzI,GAAG,GAAGC,EAAEiB,KAAKgR,kBAAkBxR,EAAEV,EAAE,aAAaC,IAAIiB,KAAKW,UAAUX,KAAKQ,SAASzB,EAAEiB,KAAK6J,WAAW7J,KAAK4M,OAAOpO,EAAE4L,kBAAkB,MAAM,KAAK,GAAG,IAAIpK,KAAKS,EAAEkJ,WAAW,MAAMnK,EAAEQ,KAAKW,WAAWX,KAAKM,MAAMwD,KAAK,IAAI9D,KAAKQ,SAASR,KAAKS,EAAEwQ,qBAAqBjR,KAAK0Q,kBAAkBlR,GAAGJ,GAAE,GAAIY,KAAKW,UAAU,KAAKX,KAAKQ,SAASR,KAAKM,MAAMwD,KAAK,IAAI9D,KAAKQ,SAASR,KAAK6J,WAAW7J,KAAK4M,OAAO5M,KAAKqB,OAAOP,GAAG,cAActC,EAAE4L,iBAAiB5L,EAAE2R,kBAAkBnQ,KAAKS,EAAEkK,WAAW3K,KAAK0I,QAAQ,MAAM,KAAK,EAAE1I,KAAKW,UAAU,KAAKX,KAAKQ,SAASR,KAAKM,MAAMwD,KAAK,IAAI9D,KAAKQ,SAASR,KAAK4M,OAAO5M,KAAK0I,OAAOtJ,IAAIY,KAAKM,MAAMa,OAAOnB,KAAK8I,SAAS,cAAc9I,KAAK8I,SAAS,aAAa9I,KAAKe,WAAWiI,QAAQ,gBAAjmD,KAAKxK,EAAE+I,SAAS,KAAK/I,EAAE+I,UAAUvH,KAAKiD,OAAOzE,EAAE2R,oBAA8jDvN,YAAY,SAASpE,GAAGwB,KAAKkJ,SAAS1K,EAAEwB,KAAKqB,OAAO+P,SAAS,OAAO1I,OAAO2I,OAAO,eAAe/P,EAAEyD,UAAU/E,KAAKkJ,UAAUoI,SAASrO,OAAOjD,KAAKmL,kBAAkBnL,KAAK8I,SAAS,iBAAiB,IAAI9J,KAAKgB,KAAKQ,aAAuY0C,EAAEyB,UAAU,CAACd,YAAY,WAAW7D,KAAKM,MAAM9B,EAAE4E,IAAIpD,KAAK4D,QAAQ,SAASpF,GAAG,OAAOA,EAAEmB,eAAeK,KAAKuR,gBAAgBA,aAAa,WAAW,IAAIzS,EAAEN,EAAE4E,IAAIpD,KAAKM,MAAM,SAAS9B,GAAG,OAAOA,EAAEyF,YAAYzF,EAAEsG,KAAK9E,KAAK4D,QAAQ,SAASpF,EAAEO,GAAGA,EAAEkO,SAASnO,MAAM4L,WAAW,WAAWlM,EAAEsG,KAAK9E,KAAK4D,QAAQ,SAASpF,EAAEM,GAAGA,EAAE4L,gBAAgB/G,YAAY,SAAS5E,GAAG,IAAIiB,KAAKwR,SAAS,CAACxR,KAAKwR,UAAS,EAAG,IAAIpS,EAAEZ,EAAE0B,KAAKnB,EAAEgJ,OAAO,cAAc,GAAG3I,IAAIN,EAAE,CAAC,IAAIU,EAAEJ,EAAEO,aAAaC,EAAEI,KAAKsD,gBAAgBgC,EAAE9G,EAAEwG,QAAQjG,EAAEgJ,OAAO/H,KAAKmD,QAAQiD,EAAEd,EAAE,EAAEqB,EAAErB,EAAE,EAAE/E,EAAEP,KAAKmD,OAAOhC,OAAO,IAAI,IAAImE,EAAE,CAAC,GAAG9G,EAAEsG,KAAK9E,KAAK4D,QAAQ,SAASpF,EAAEM,GAAGA,EAAEa,cAAcb,IAAIM,GAAGQ,GAAGd,EAAEgM,WAAWtL,KAAKA,EAAEQ,KAAKM,MAAM8F,GAAG,KAAQ,GAAHA,GAAM5G,EAAEQ,KAAKM,MAAM8F,IAAIpG,KAAK4D,QAAQwC,KAAK0E,WAAWtL,QAAQ,GAAGA,EAAEQ,KAAKM,MAAMqG,GAAG,KAAKA,EAAEpG,GAAGf,EAAEQ,KAAKM,MAAMqG,IAAI3G,KAAK4D,QAAQ+C,KAAKmE,WAAWtL,GAAGQ,KAAK6D,qBAAqB7D,KAAKwR,aAAa1H,QAAQ,WAAWtL,EAAE4E,IAAIpD,KAAK4D,QAAQ,SAASpF,GAAGA,EAAEsL,YAAYtL,EAAEwB,KAAKmD,QAAQkE,IAAI,aAAarH,KAAK2D,oBAAoB3D,KAAKY,QAAQV,OAAOJ,YAAYoE,OAAOtE,EAAE,UAAU,4FAAkGpB,EAAEqB,GAAGC,YAAWyD,EAAE,SAASxE,GAAG,IAAgDS,EAA5CJ,EAAEqS,MAAMvS,MAAM,KAAKC,WAA2B,GAAhBC,EAAEsS,QAAiB1R,KAAK8E,KAAK,WAAW,IAAwEvE,EAAsD8L,EAA1HvN,EAAEN,EAAEwB,MAAMJ,EAAEd,EAAEoB,KAAK,cAAcoF,EAAE,iBAAiBvG,GAAGA,EAAMa,IAAOW,EAAjh0B,SAAWzB,EAAEC,GAAG,SAASK,EAAEZ,EAAEM,GAAG,OAAOA,EAAE4H,cAAc,IAAIlH,EAA2GmH,EAAzG/G,EAAEpB,EAAEM,GAAGoB,OAAOoF,EAAE,GAAGc,EAAE,IAAIuL,OAAO,IAAI5S,EAAE2H,cAAc,WAA6C,IAAQC,KAA1C5H,EAAE,IAAI4S,OAAO,IAAI5S,EAAE2H,eAA4B9G,EAAEb,EAAE8H,KAAKF,KAAKnH,EAAEmH,EAAEvC,QAAQgC,EAAEhH,GAAGkG,EAAE9F,GAAGI,EAAE+G,IAAI,OAAOrB,EAAuzzBc,CAAEpG,KAAK,QAA6BuD,EAAz1zB,SAAWzE,GAAG,IAAgDM,EAA5CL,EAAE,GAAG,GAAGwG,EAAEzG,KAAKA,EAAEA,EAAEqG,MAAM,KAAK,GAAGI,EAAEzG,IAAgB,OAAPM,EAAEmG,EAAEzG,GAAUN,EAAEsG,KAAKuH,EAAE,SAAS7N,EAAEM,GAAGA,KAAKM,IAAIL,EAAED,GAAGM,EAAEN,MAAMC,EAAkuzB4H,CAArBnI,EAAEiG,OAAO,GAAGhE,EAAEF,EAAE+E,GAASD,UAAUgH,EAAE7N,EAAEiG,OAAO,GAAGhE,EAAE8C,EAAEhD,EAAE+E,GAAqG1F,EAAlGd,EAAEoC,SAAS,oBAAoBmL,EAAElJ,QAAQ3E,EAAEiG,OAAO4H,EAAE,CAAClJ,OAAOkJ,EAAElJ,QAAQrE,EAAEkC,KAAK,SAAS4Q,YAAc,IAAI1O,EAAElD,KAAKqM,IAAM,IAAIpM,EAAED,KAAKqM,GAAGvN,EAAEoB,KAAK,aAAaN,IAAG,iBAAiBb,GAAG,mBAAmBa,EAAEb,KAAKS,EAAEI,EAAEb,GAAGG,MAAMU,EAAER,MAAMI,IAAIV,GAAGU,aAAaS,GAAGT,aAAa0D,EAAE,OAAOlD,KAAK,GAAe,EAAZA,KAAKmB,OAAS,MAAM,IAAI0Q,MAAM,8DAA8D9S,EAAE,cAAc,OAAOS,GAAyBiB,GAAtBjC,EAAEqB,GAAGC,WAAWyD,EAAQ/E,EAAEqB,GAAGC,WAAWgS,SAAS,CAACtL,kBAAiB,EAAGmE,WAAU,EAAGuE,cAAc1Q,EAAEmP,KAAKmC,gBAAgBtR,EAAEmP,KAAKoC,eAAevR,EAAEmP,KAAKqC,iBAAiBxR,EAAEmP,KAAKsC,kBAAkBzR,EAAEmP,KAAKzL,eAAc,EAAGqM,UAAS,EAAGoC,cAAa,EAAGnO,mBAAmB,GAAGC,sBAAsB,GAAGC,cAAc,GAAGH,QAAQ,EAAA,EAAIoH,YAAW,EAAGxD,OAAO,aAAa7C,iBAAgB,EAAG2N,oBAAmB,EAAG5L,SAAS,KAAKG,YAAY,EAAEC,YAAY,EAAEI,WAAU,EAAGC,mBAAmB,IAAIW,YAAY,OAAOxE,KAAI,EAAGI,WAAU,EAAA,EAAKQ,UAAU,EAAEuL,UAAS,EAAGhB,gBAAe,EAAGV,gBAAe,EAAG1G,UAAU,EAAEyD,sBAAqB,EAAGJ,kBAAiB,EAAG3B,aAAY,EAAGsE,aAAa,GAAG1C,UAAU,OAAOtB,kBAAiB,EAAGwG,MAAM,GAAG/M,UAAU,CAACC,UAAU,WAAWE,WAAW,YAAYiL,cAAa,IAAIR,EAAE7N,EAAEqB,GAAGC,WAAWiS,YAAY,CAAC,SAAS,MAAM,aAA+CxM,GAAlC/G,EAAEqB,GAAGC,WAAWkS,YAAY/R,EAAQzB,EAAEqB,GAAGC,WAAWQ,MAAM,CAAC4N,GAAG,CAAC+D,KAAK,CAAC,SAAS,SAAS,UAAU,YAAY,WAAW,SAAS,YAAYC,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAOpF,QAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAMqF,OAAO,CAAC,UAAU,WAAW,QAAQ,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,YAAYnF,YAAY,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAOiB,MAAM,QAAQ3J,MAAM,QAAQ6J,YAAY,aAAY7M,EAAE,CAACyD,UAAU,CAAC,CAACE,MAAM,CAAC,OAAO,SAASqM,QAAQ,OAAO9R,EAAE,eAAe,CAACyF,MAAM,CAAC,SAAS,QAAQqM,QAAQ,SAAS9R,EAAE,aAAagR,QAAQ,GAAG,CAACvL,MAAM,CAAC,QAAQ,UAAUqM,QAAQ,QAAQ9R,EAAE,eAAegR,QAAQ,IAAI,CAACvL,MAAM,CAAC,UAAU,WAAWqM,QAAQ,UAAU9R,EAAE,gBAAgBgR,QAAQ,KAAK,CAACvL,MAAM,CAAC,YAAY,cAAcqM,QAAQ,YAAY9R,EAAE,mBAAmBgR,QAAQ,MAAM4B,WAAW,6BAA6BC,eAAe,8CAA8CnM,YAAY,SAAS1H,GAAG,GAAG,mBAAmBA,EAAE8T,SAAS,mBAAmB9T,EAAE+T,UAAU,OAAO/T,EAAE,IAAIM,EAAEN,EAAE4F,QAAQpE,KAAKoS,WAAW,MAAMjN,MAAM,MAAMpG,EAAEP,EAAE4G,MAAMpF,KAAKoS,YAAY,GAAItT,GAAIA,EAAEqC,QAASpC,GAAG,IAAIA,EAAEoC,OAA+C,MAAM,CAACqR,WAAW1T,EAAE2T,MAAM1T,GAAlE,MAAM,IAAI8S,MAAM,yBAAsDtL,UAAU,SAASxH,EAAES,EAAEI,EAAE0F,GAA+F,SAASqB,IAAI,IAAInI,EAAEwB,KAAK+D,MAAM,EAAExD,EAAEgD,GAAGpC,QAAQrC,EAAEyB,EAAEgD,GAAGQ,MAAM,EAAEvF,EAAE2C,QAAQ,OAAO3C,EAAEkI,gBAAgB5H,EAAE4H,cAAc,IAAI3H,EAAE,OAAOD,EAAE,GAAGC,aAAaC,KAAK,OAAOD,EAAE,IAAwBS,EAArB,iBAAiBA,EAAM8B,EAAE4E,YAAY1G,GAAIA,GAAE8S,QAAQ,OAAO9S,EAAE8S,QAAQvT,EAAES,EAAEI,GAAG,IAAMsD,EAAEwB,EAAIjE,EAAE4L,EAAE,CAACjN,EAAE,UAAUsF,EAAE,YAAYiK,EAAE,WAAW5H,EAAE,YAAY0G,EAAE,CAACiF,UAAU,MAAMzE,MAAM,MAAM0E,SAAS,OAAO,GAAoB,2CAA2C9L,KAAnD9H,EAATA,KAAK0O,EAAMA,EAAE1O,GAAoDA,GAAG,CAAC,IAAIwB,EAAExB,EAAEqG,MAAM,wBAAwBrG,EAAE,IAAIC,KAAKuE,EAAE,EAAEA,EAAEhD,EAAEY,OAAOoC,IAAIL,EAAE3C,EAAEgD,GAAG6B,MAAM,uBAAuBV,EAAEtC,OAAOc,EAAE,IAAIzC,EAAE4L,EAAEnJ,EAAE,GAAGwD,eAAe3H,EAAEkB,EAAE0E,UAAUlE,GAAG1B,EAAE2F,GAAG,OAAOzE,EAAE0E,UAAU4F,eAAexL,GAAyC,IAAI2O,EAAEe,EAA5ClO,EAAExB,GAAGA,EAAEqG,MAAMpF,KAAKqS,iBAAiB,GAAW3D,EAAE,GAAGC,EAAE,CAAC,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM7H,EAAE,CAAC8L,KAAK,SAASpU,EAAEM,GAAG,OAAON,EAAEoQ,eAAetJ,IAAn0B,KAATxG,EAAk1BwG,KAAh0BxG,EAAE,KAAtBN,EAAk1BM,GAAtzB,MAAMN,GAAG,MAAK,IAAKQ,MAAMK,cAAcP,IAAIN,GAAG,KAAKA,GAAwwBM,GAAl2B,IAAWN,GAA21BkG,EAAE,SAASlG,EAAEM,GAAG,GAAGwP,MAAM9P,GAAG,OAAOA,EAAE,MAAIM,EAAKA,EAAE,GAAGA,GAAG,GAAG,IAAUN,EAAE8R,YAARxR,GAAG,IAAoBN,EAAEkB,gBAAgBZ,GAAGN,EAAEsM,WAAWtM,EAAEmB,aAAa,GAAG,OAAOnB,GAAGY,EAAE,SAASZ,EAAEM,GAAG,OAAON,EAAEsM,WAAWhM,KAAsDiI,GAAjDD,EAAE+L,GAAG/L,EAAE8L,KAAK9L,EAAEgM,EAAEhM,EAAEiM,GAAGjM,EAAEkM,GAAGlM,EAAEpC,EAAEoC,EAAEmM,GAAGnM,EAAE1H,EAAEL,EAAEK,IAAUI,EAAEiT,MAAM1O,SAAQ,GAAGxD,EAAEY,SAAS4F,EAAE5F,SAAS4F,EAAEvI,EAAEuI,GAAGsK,OAAO,SAASvS,EAAEC,GAAG,OAAO,IAAIP,EAAEwG,QAAQjG,EAAE4P,KAAKiD,WAAWrR,EAAEY,SAAS4F,EAAE5F,OAAO,CAAO,IAAN,IAAqP2N,EAAEC,EAA7OxL,EAAE,EAAEsL,EAAE9H,EAAE5F,OAAOoC,EAAEsL,EAAEtL,IAAI,CAAC,GAAGmK,EAAEpB,SAAS/L,EAAEgD,GAAG,IAAIL,EAAE6D,EAAExD,GAAG+K,MAAMZ,GAAG,OAAOxK,GAAG,IAAI,KAAKuL,EAAEjQ,EAAE+G,EAAE3F,GAAGuS,QAAQd,OAAO1K,GAAG+G,EAAElP,EAAEwG,QAAQyJ,EAAE,GAAGlJ,EAAE3F,GAAGuS,QAAQ,EAAE,MAAM,IAAI,IAAI1D,EAAEjQ,EAAE+G,EAAE3F,GAAGoN,aAAaqE,OAAO1K,GAAG+G,EAAElP,EAAEwG,QAAQyJ,EAAE,GAAGlJ,EAAE3F,GAAGoN,aAAa,EAAE0B,EAAExL,GAAGwK,EAAU,IAAInK,EAAE,EAAEA,EAAEoL,EAAExN,OAAOoC,KAAKwL,EAAEJ,EAAEpL,MAAMmL,IAAIJ,MAAMI,EAAEK,MAAMD,EAAE,IAAI9P,KAAKD,GAAG+H,EAAEiI,GAAGD,EAAEJ,EAAEK,IAAIT,MAAMQ,KAAK/P,EAAE+P,IAAI,OAAO/P,GAAGoK,WAAW,SAASrK,EAAEC,EAAEK,GAAG,IAAIN,EAAE,MAAM,GAAG,IAAwBC,EAArB,iBAAiBA,EAAMuC,EAAE4E,YAAYnH,GAAIA,GAAEwT,UAAU,OAAOxT,EAAEwT,UAAUzT,EAAEC,EAAEK,GAAG,IAAII,EAAE,CAACJ,EAAEN,EAAEa,aAAauT,EAAE3N,EAAEnG,GAAG8S,UAAUpT,EAAEwO,aAAa6F,GAAG5N,EAAEnG,GAAG6S,KAAKnT,EAAEwO,aAAa5I,EAAE5F,EAAEY,cAAc,EAAEoT,EAAEvN,EAAEnG,GAAG4N,YAAYlO,EAAEY,eAAeqT,GAAGxN,EAAEnG,GAAG+S,OAAOrT,EAAEY,eAAemT,GAAG/T,EAAEW,iBAAiB8P,WAAW6D,UAAU,GAAGR,KAAK9T,EAAEW,kBAAkBD,EAAEyT,IAAIzT,EAAEJ,EAAE,GAAG,IAAI,IAAII,EAAEJ,EAAEI,EAAEwT,IAAIxT,EAAEkF,EAAE,GAAG,IAAI,IAAIlF,EAAEkF,EAAE5F,EAAE,GAAG,IAAI,IAAIc,EAAEpB,EAAEiG,OAAO,GAAG1F,EAAEyT,YAAYlN,EAAE,EAAEc,EAAErH,EAAE0T,MAAMtR,OAAOmE,GAAGc,EAAEd,IAAI1F,EAAEuB,QAAQrC,EAAEyF,KAAK3E,EAAE8R,SAAS5S,EAAEyF,KAAK/E,EAAET,EAAE0T,MAAMnN,KAAK,OAAOxG,EAAEkM,KAAK,KAChs+BqI,aAAa,sFAAsF5S,EAAEgB,UAAUC,UAAU,wEAAwEjB,EAAEgB,UAAUG,WAAW,qBAAqB0R,aAAa,gDAAgDC,aAAa,2GAA2GjS,EAAEC,SAAS,uFAAuFD,EAAE+R,aAAa,kBAAkB/R,EAAEiS,aAAa,+EAA+EjS,EAAE+R,aAAa/R,EAAEgS,aAAahS,EAAEiS,aAAa,8EAA8EjS,EAAE+R,aAAa/R,EAAEgS,aAAahS,EAAEiS,aAAa,gFAAgFjS,EAAE+R,aAAa/R,EAAEgS,aAAahS,EAAEiS,aAAa,kFAAkFjS,EAAE+R,aAAa/R,EAAEgS,aAAahS,EAAEiS,aAAa,uBAAuB/U,EAAEqB,GAAGC,WAAW0T,SAASlS,EAAE9C,EAAEqB,GAAGC,WAAW2T,WAAW,WAAW,OAAOjV,EAAEqB,GAAGC,WAAW4E,EAAE1E,MAAMxB,EAAEqB,GAAGC,WAAW4T,QAAQ,QAAQlV,EAAEqB,GAAGC,WAAWC,WAAW,SAASvB,GAAG,IAAIM,EAAEuJ,OAAOsL,QAAQ7U,GAAGA,EAAE8U,MAAM9U,EAAE8U,KAAK,eAAepV,IAAIA,EAAEgK,UAAU/E,GAAG,sDAAsD,8BAA8B,SAAS3E,GAAG,IAAIC,EAAEP,EAAEwB,MAAMjB,EAAEmB,KAAK,gBAAgBpB,EAAEsL,iBAAiB7G,EAAEC,KAAKzE,EAAE,WAAWP,EAAE,WAAW+E,EAAEC,KAAKhF,EAAE"} \ No newline at end of file +{"version":3,"file":"bootstrap-datepicker.min.js","sources":["bootstrap-datepicker.min.js"],"sourcesContent":["/*!\n * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)\n *\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n\n!function(a){\"function\"==typeof define&&define.amd?define([\"jquery\"],a):a(\"object\"==typeof exports?require(\"jquery\"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp(\"^\"+c.toLowerCase()+\"([A-Z])\");c=new RegExp(\"^\"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split(\"-\")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split(\"-\")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(\",\")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:\"auto\",y:\"auto\"},i&&\"auto\"!==i)if(1===h.length)switch(h[0]){case\"top\":case\"bottom\":e.orientation.y=h[0];break;case\"left\":case\"right\":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||\"auto\",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||\"auto\";else;if(e.defaultViewDate instanceof Date||\"string\"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass(\"datepicker-orient-right\"),m+=l-b):this.o.rtl?this.picker.addClass(\"datepicker-orient-right\"):this.picker.addClass(\"datepicker-orient-left\");var o,p=this.o.orientation.y;if(\"auto\"===p&&(o=-f+n-c,p=o<0?\"bottom\":\"top\"),this.picker.addClass(\"datepicker-orient-\"+p),\"top\"===p?n-=c+parseInt(this.picker.css(\"padding-top\")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data(\"date\")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger(\"changeDate\"),this.element.change()),!this.dates.length&&b.length&&(this._trigger(\"clearDate\"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c=\"\";for(this.o.calendarWeeks&&(c+=' ');b\";c+=\"\",this.picker.find(\".datepicker-days thead\").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c=\"\",d=0;d<12;d++)a=b&&b.getMonth()===d?\" focused\":\"\",c+=''+q[this.o.language].monthsShort[d]+\"\";this.picker.find(\".datepicker-months td\").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push(\"new\"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push(\"focused\"),this.o.todayHighlight&&e(b,h)&&c.push(\"today\"),-1!==this.dates.contains(b)&&c.push(\"active\"),this.dateWithinRange(b)||c.push(\"disabled\"),this.dateIsDisabled(b)&&c.push(\"disabled\",\"disabled-date\"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push(\"highlighted\"),this.range&&(b>this.range[0]&&bh)&&j.push(\"disabled\"),t===r&&j.push(\"focused\"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:\"boolean\"==typeof l?l={enabled:l}:\"string\"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push(\"disabled\"),l.classes&&(j=j.concat(l.classes.split(/\\s+/))),l.tooltip&&(k=l.tooltip)),m+='\"+t+\"\";o.find(\".datepicker-switch\").text(p+\"-\"+q),o.find(\"td\").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||\"\",o=q[this.o.language].clear||q.en.clear||\"\",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||\"linked\"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(\".datepicker-days .datepicker-switch\").text(r.formatDate(g,p,this.o.language)),this.picker.find(\"tfoot .today\").text(n).css(\"display\",t?\"table-cell\":\"none\"),this.picker.find(\"tfoot .clear\").text(o).css(\"display\",!0===this.o.clearBtn?\"table-cell\":\"none\"),this.picker.find(\"thead .datepicker-title\").text(this.o.title).css(\"display\",\"string\"==typeof this.o.title&&\"\"!==this.o.title?\"table-cell\":\"none\"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()\"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+\"\")}y=this.getClassNames(u),y.push(\"day\");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:\"boolean\"==typeof f?f={enabled:f}:\"string\"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push(\"disabled\"),f.classes&&(y=y.concat(f.classes.split(/\\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+\"\"),e=null,x===this.o.weekEnd&&z.push(\"\"),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(\".datepicker-days tbody\").html(z.join(\"\"));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||\"Months\",G=this.picker.find(\".datepicker-months\").find(\".datepicker-switch\").text(this.o.maxViewMode<2?F:h).end().find(\"tbody span\").removeClass(\"active\");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass(\"active\")}),(hl)&&G.addClass(\"disabled\"),h===j&&G.slice(0,k).addClass(\"disabled\"),h===l&&G.slice(m+1).addClass(\"disabled\"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:\"boolean\"==typeof f?f={enabled:f}:\"string\"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass(\"disabled\")||a(d).addClass(\"disabled\"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop(\"title\",f.tooltip)})}this._fill_yearsView(\".datepicker-years\",\"year\",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(\".datepicker-decades\",\"decade\",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(\".datepicker-centuries\",\"century\",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(\".prev\").toggleClass(\"disabled\",a),this.picker.find(\".next\").toggleClass(\"disabled\",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass(\"datepicker-switch\")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass(\"today\")&&!e.hasClass(\"day\")&&(this.setViewMode(0),this._setDate(d(),\"linked\"===this.o.todayBtn?null:\"view\")),e.hasClass(\"clear\")&&this.clearDates(),e.hasClass(\"disabled\")||(e.hasClass(\"month\")||e.hasClass(\"year\")||e.hasClass(\"decade\")||e.hasClass(\"century\"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find(\"span\").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(\":visible\")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data(\"date\"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger(\"changeYear\",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger(\"changeMonth\",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass(\"prev\")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),\"number\"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&\"date\"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||\"view\"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&\"view\"===b||this._trigger(\"changeDate\"),this.inputField.trigger(\"change\"),!this.o.autoclose||b&&\"date\"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(\":visible\"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,\"moveYear\"))&&this._trigger(\"changeYear\",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,\"moveMonth\"))&&this._trigger(\"changeMonth\",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,\"moveDay\"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,\"moveWeek\")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,\"moveMonth\")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,\"moveYear\")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(\":visible\")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger(\"changeDate\"):this._trigger(\"clearDate\"),this.inputField.trigger(\"change\"))},setViewMode:function(a){this.viewMode=a,this.picker.children(\"div\").hide().filter(\".datepicker-\"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger(\"changeViewMode\",new Date(this.viewDate))}};var l=function(b,c){a.data(b,\"datepicker\",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on(\"changeDate\",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,\"datepicker\")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,\"datepicker\");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off(\"changeDate\",this.dateUpdated),delete this.element.data().datepicker},remove:f(\"destroy\",\"Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead\")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data(\"datepicker\"),g=\"object\"==typeof c&&c;if(!f){var j=h(this,\"date\"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass(\"input-daterange\")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find(\"input\").toArray()}),f=new l(this,p)):f=new k(this,p),b.data(\"datepicker\",f)}\"string\"==typeof c&&\"function\"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error(\"Using only allowed for the collection of a single element (\"+c+\" function)\");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:\"mm/dd/yyyy\",keepEmptyValues:!1,keyboardNavigation:!0,language:\"en\",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:\",\",orientation:\"auto\",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:\"body\",immediateUpdates:!1,title:\"\",templates:{leftArrow:\"«\",rightArrow:\"»\"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=[\"format\",\"rtl\",\"weekStart\"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],daysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],daysMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],today:\"Today\",clear:\"Clear\",titleFormat:\"MM yyyy\"}},r={viewModes:[{names:[\"days\",\"month\"],clsName:\"days\",e:\"changeMonth\"},{names:[\"months\",\"year\"],clsName:\"months\",e:\"changeYear\",navStep:1},{names:[\"years\",\"decade\"],clsName:\"years\",e:\"changeDecade\",navStep:10},{names:[\"decades\",\"century\"],clsName:\"decades\",e:\"changeCentury\",navStep:100},{names:[\"centuries\",\"millennium\"],clsName:\"centuries\",e:\"changeMillennium\",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\\/:-@\\u5e74\\u6708\\u65e5\\[-`{-~\\t\\n\\r]+/g,parseFormat:function(a){if(\"function\"==typeof a.toValue&&\"function\"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,\"\\0\").split(\"\\0\"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error(\"Invalid date format.\");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if(\"string\"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:\"moveDay\",m:\"moveMonth\",w:\"moveWeek\",y:\"moveYear\"},s={yesterday:\"-1d\",today:\"+0d\",tomorrow:\"+1d\"};if(c in s&&(c=s[c]),/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\\-+]\\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+\"\",contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+\"\"+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+\"
\",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version=\"1.9.0\",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn(\"DEPRECATED: \"+a)},a(document).on(\"focus.datepicker.data-api click.datepicker.data-api\",'[data-provide=\"datepicker\"]',function(b){var c=a(this);c.data(\"datepicker\")||(b.preventDefault(),n.call(c,\"show\"))}),a(function(){n.call(a('[data-provide=\"datepicker-inline\"]'))})});"],"names":["a","define","amd","exports","require","jQuery","b","c","Date","UTC","apply","arguments","d","getFullYear","getMonth","getDate","e","getUTCFullYear","getUTCMonth","getUTCDate","f","fn","datepicker","deprecated","this","k","data","_events","_secondaryEvents","_process_options","dates","j","viewDate","o","defaultViewDate","focusDate","element","isInput","is","inputField","find","component","hasClass","length","isInline","picker","r","template","_check_template","templates","leftArrow","html","rightArrow","_buildEvents","_attachEvents","addClass","appendTo","rtl","calendarWeeks","attr","Number","startDate","_o","endDate","daysOfWeekDisabled","daysOfWeekHighlighted","datesDisabled","_allow_update","setViewMode","startView","fillDow","fillMonths","update","show","l","inputs","map","jquery","keepEmptyValues","n","call","on","proxy","dateUpdated","pickers","updateDates","get","slice","contains","valueOf","remove","splice","replace","isArray","clear","push","copy","extend","m","prototype","constructor","_resolveViewName","each","viewModes","inArray","names","_resolveDaysOfWeek","split","match","language","g","q","minViewMode","maxViewMode","Math","max","min","multidate","multidateSeparator","String","weekStart","weekEnd","parseFormat","format","h","_local_to_utc","_zero_time","parseDate","assumeNearbyYear","orientation","toLowerCase","i","grep","test","x","y","year","month","day","_applyEvents","_unapplyEvents","off","keyup","keyCode","keydown","paste","showOnFocus","focus","click","blur","_focused_from","target","immediateUpdates","changeYear changeMonth","date","navArrowsClick","dayCellClick","window","resize","place","document","mousedown touchstart","hide","_detachEvents","_attachSecondaryEvents","_detachSecondaryEvents","_trigger","_utc_to_local","trigger","type","viewMode","formatDate","prop","enableOnReadonly","container","navigator","msMaxTouchPoints","disableTouchKeyboard","detach","forceParse","val","setValue","destroy","originalEvent","clipboardData","types","getData","setDate","preventDefault","getTime","getTimezoneOffset","_zero_utc_time","getDates","getUTCDates","clearDates","autoclose","setDates","setUTCDates","setUTCDate","getFormattedDate","join","getStartDate","setStartDate","updateNavArrows","getEndDate","setEndDate","setDaysOfWeekDisabled","setDaysOfWeekHighlighted","setDatesDisabled","outerWidth","outerHeight","width","scrollTop","offset","parents","css","zIndexOffset","parent","left","top","removeClass","p","parseInt","right","zIndex","dateWithinRange","updateViewDate","change","fill","showWeekDays","daysMin","append","monthsShort","setRange","range","getClassNames","todayHighlight","dateIsDisabled","getUTCDay","_fill_yearsView","floor","s","t","noop","enabled","classes","concat","tooltip","text","today","en","titleFormat","todayBtn","weekOfDateIsDisabled","isNaN","clearBtn","title","u","v","w","setUTCFullYear","z","A","B","C","E","beforeShowDay","content","isFunction","uniqueSort","unique","toString","H","F","monthsTitle","G","end","eq","beforeShowMonth","beforeShowYear","beforeShowDecade","beforeShowCentury","toggleClass","stopPropagation","_setDate","index","setUTCMonth","currentTarget","navStep","moveMonth","_toggle_multidate","toggleActive","moveDay","moveWeek","abs","moveYear","moveAvailableDate","keyboardNavigation","ctrlKey","shiftKey","children","filter","clsName","updateRanges","updating","Array","shift","RegExp","toArray","Error","defaults","locale_opts","Constructor","days","daysShort","months","validParts","nonpunctuation","toValue","toDisplay","separators","parts","yesterday","tomorrow","yyyy","yy","M","MM","mm","dd","D","DD","substring","headTemplate","contTemplate","footTemplate","DPGlobal","noConflict","version","console","warn"],"mappings":"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"} diff --git a/assets/static/js/bootstrap.js.map b/assets/static/js/bootstrap.js.map index 9fac18f..db837ec 100644 --- a/assets/static/js/bootstrap.js.map +++ b/assets/static/js/bootstrap.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap.js","sources":["bootstrap.js"],"sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :\n typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :\n (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));\n}(this, function (exports, $, Popper) { 'use strict';\n\n $ = $ && $.hasOwnProperty('default') ? $['default'] : $;\n Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n\n return undefined; // eslint-disable-line no-undefined\n }\n };\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n $(this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator;\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (err) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var transitionDuration = $(element).css('transition-duration');\n var transitionDelay = $(element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END);\n },\n // TODO: Remove in v5\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return Util.findShadowRoot(element.parentNode);\n }\n };\n setTransitionEndSupport();\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'alert';\n var VERSION = '4.3.1';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n };\n var Event = {\n CLOSE: \"close\" + EVENT_KEY,\n CLOSED: \"closed\" + EVENT_KEY,\n CLICK_DATA_API: \"click\" + EVENT_KEY + DATA_API_KEY\n };\n var ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Alert =\n /*#__PURE__*/\n function () {\n function Alert(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Alert.prototype;\n\n // Public\n _proto.close = function close(element) {\n var rootElement = this._element;\n\n if (element) {\n rootElement = this._getRootElement(element);\n }\n\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._getRootElement = function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n if (!parent) {\n parent = $(element).closest(\".\" + ClassName.ALERT)[0];\n }\n\n return parent;\n };\n\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\n var closeEvent = $.Event(Event.CLOSE);\n $(element).trigger(closeEvent);\n return closeEvent;\n };\n\n _proto._removeElement = function _removeElement(element) {\n var _this = this;\n\n $(element).removeClass(ClassName.SHOW);\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element);\n\n return;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(element);\n $(element).one(Util.TRANSITION_END, function (event) {\n return _this._destroyElement(element, event);\n }).emulateTransitionEnd(transitionDuration);\n };\n\n _proto._destroyElement = function _destroyElement(element) {\n $(element).detach().trigger(Event.CLOSED).remove();\n } // Static\n ;\n\n Alert._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n };\n\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n };\n\n _createClass(Alert, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface;\n $.fn[NAME].Constructor = Alert;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$1 = 'button';\n var VERSION$1 = '4.3.1';\n var DATA_KEY$1 = 'bs.button';\n var EVENT_KEY$1 = \".\" + DATA_KEY$1;\n var DATA_API_KEY$1 = '.data-api';\n var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];\n var ClassName$1 = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n };\n var Selector$1 = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n };\n var Event$1 = {\n CLICK_DATA_API: \"click\" + EVENT_KEY$1 + DATA_API_KEY$1,\n FOCUS_BLUR_DATA_API: \"focus\" + EVENT_KEY$1 + DATA_API_KEY$1 + \" \" + (\"blur\" + EVENT_KEY$1 + DATA_API_KEY$1)\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Button =\n /*#__PURE__*/\n function () {\n function Button(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Button.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n var triggerChangeEvent = true;\n var addAriaPressed = true;\n var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];\n\n if (rootElement) {\n var input = this._element.querySelector(Selector$1.INPUT);\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = rootElement.querySelector(Selector$1.ACTIVE);\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName$1.ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {\n return;\n }\n\n input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);\n $(input).trigger('change');\n }\n\n input.focus();\n addAriaPressed = false;\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName$1.ACTIVE);\n }\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$1);\n this._element = null;\n } // Static\n ;\n\n Button._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$1);\n\n if (!data) {\n data = new Button(this);\n $(this).data(DATA_KEY$1, data);\n }\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n };\n\n _createClass(Button, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$1;\n }\n }]);\n\n return Button;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {\n event.preventDefault();\n var button = event.target;\n\n if (!$(button).hasClass(ClassName$1.BUTTON)) {\n button = $(button).closest(Selector$1.BUTTON);\n }\n\n Button._jQueryInterface.call($(button), 'toggle');\n }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {\n var button = $(event.target).closest(Selector$1.BUTTON)[0];\n $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$1] = Button._jQueryInterface;\n $.fn[NAME$1].Constructor = Button;\n\n $.fn[NAME$1].noConflict = function () {\n $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;\n return Button._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$2 = 'carousel';\n var VERSION$2 = '4.3.1';\n var DATA_KEY$2 = 'bs.carousel';\n var EVENT_KEY$2 = \".\" + DATA_KEY$2;\n var DATA_API_KEY$2 = '.data-api';\n var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n };\n var Event$2 = {\n SLIDE: \"slide\" + EVENT_KEY$2,\n SLID: \"slid\" + EVENT_KEY$2,\n KEYDOWN: \"keydown\" + EVENT_KEY$2,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$2,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$2,\n TOUCHSTART: \"touchstart\" + EVENT_KEY$2,\n TOUCHMOVE: \"touchmove\" + EVENT_KEY$2,\n TOUCHEND: \"touchend\" + EVENT_KEY$2,\n POINTERDOWN: \"pointerdown\" + EVENT_KEY$2,\n POINTERUP: \"pointerup\" + EVENT_KEY$2,\n DRAG_START: \"dragstart\" + EVENT_KEY$2,\n LOAD_DATA_API: \"load\" + EVENT_KEY$2 + DATA_API_KEY$2,\n CLICK_DATA_API: \"click\" + EVENT_KEY$2 + DATA_API_KEY$2\n };\n var ClassName$2 = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n };\n var Selector$2 = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n };\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Carousel =\n /*#__PURE__*/\n function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype;\n\n // Public\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(Selector$2.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $(this._element).one(Event$2.SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $(this._element).off(EVENT_KEY$2);\n $.removeData(this._element, DATA_KEY$2);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread({}, Default, config);\n Util.typeCheckConfig(NAME$2, config, DefaultType);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX; // swipe left\n\n if (direction > 0) {\n this.prev();\n } // swipe right\n\n\n if (direction < 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $(this._element).on(Event$2.KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $(this._element).on(Event$2.MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(Event$2.MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n _this3.touchDeltaX = 0;\n } else {\n _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\n }\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $(this._element).on(Event$2.POINTERDOWN, function (event) {\n return start(event);\n });\n $(this._element).on(Event$2.POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(ClassName$2.POINTER_EVENT);\n } else {\n $(this._element).on(Event$2.TOUCHSTART, function (event) {\n return start(event);\n });\n $(this._element).on(Event$2.TOUCHMOVE, function (event) {\n return move(event);\n });\n $(this._element).on(Event$2.TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n\n default:\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === Direction.NEXT;\n var isPrevDirection = direction === Direction.PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === Direction.PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));\n\n var slideEvent = $.Event(Event$2.SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $(this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));\n $(indicators).removeClass(ClassName$2.ACTIVE);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName$2.ACTIVE);\n }\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName$2.LEFT;\n orderClassName = ClassName$2.NEXT;\n eventDirectionName = Direction.LEFT;\n } else {\n directionalClassName = ClassName$2.RIGHT;\n orderClassName = ClassName$2.PREV;\n eventDirectionName = Direction.RIGHT;\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n var slidEvent = $.Event(Event$2.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($(this._element).hasClass(ClassName$2.SLIDE)) {\n $(nextElement).addClass(orderClassName);\n Util.reflow(nextElement);\n $(activeElement).addClass(directionalClassName);\n $(nextElement).addClass(directionalClassName);\n var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\n\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = nextElementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\n $(activeElement).one(Util.TRANSITION_END, function () {\n $(nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(ClassName$2.ACTIVE);\n $(activeElement).removeClass(ClassName$2.ACTIVE + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $(_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $(activeElement).removeClass(ClassName$2.ACTIVE);\n $(nextElement).addClass(ClassName$2.ACTIVE);\n this._isSliding = false;\n $(this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$2);\n\n var _config = _objectSpread({}, Default, $(this).data());\n\n if (typeof config === 'object') {\n _config = _objectSpread({}, _config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $(this).data(DATA_KEY$2, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $(selector)[0];\n\n if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {\n return;\n }\n\n var config = _objectSpread({}, $(target).data(), $(this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($(target), config);\n\n if (slideIndex) {\n $(target).data(DATA_KEY$2).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$2;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);\n $(window).on(Event$2.LOAD_DATA_API, function () {\n var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n var $carousel = $(carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$2] = Carousel._jQueryInterface;\n $.fn[NAME$2].Constructor = Carousel;\n\n $.fn[NAME$2].noConflict = function () {\n $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;\n return Carousel._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$3 = 'collapse';\n var VERSION$3 = '4.3.1';\n var DATA_KEY$3 = 'bs.collapse';\n var EVENT_KEY$3 = \".\" + DATA_KEY$3;\n var DATA_API_KEY$3 = '.data-api';\n var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];\n var Default$1 = {\n toggle: true,\n parent: ''\n };\n var DefaultType$1 = {\n toggle: 'boolean',\n parent: '(string|element)'\n };\n var Event$3 = {\n SHOW: \"show\" + EVENT_KEY$3,\n SHOWN: \"shown\" + EVENT_KEY$3,\n HIDE: \"hide\" + EVENT_KEY$3,\n HIDDEN: \"hidden\" + EVENT_KEY$3,\n CLICK_DATA_API: \"click\" + EVENT_KEY$3 + DATA_API_KEY$3\n };\n var ClassName$3 = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n };\n var Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n };\n var Selector$3 = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Collapse =\n /*#__PURE__*/\n function () {\n function Collapse(element, config) {\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\n var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));\n\n for (var i = 0, len = toggleList.length; i < len; i++) {\n var elem = toggleList[i];\n var selector = Util.getSelectorFromElement(elem);\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\n return foundElem === element;\n });\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector;\n\n this._triggerArray.push(elem);\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n var _proto = Collapse.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if ($(this._element).hasClass(ClassName$3.SHOW)) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {\n return;\n }\n\n var actives;\n var activesData;\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {\n if (typeof _this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === _this._config.parent;\n }\n\n return elem.classList.contains(ClassName$3.COLLAPSE);\n });\n\n if (actives.length === 0) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY$3);\n\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $.Event(Event$3.SHOW);\n $(this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');\n\n if (!activesData) {\n $(actives).data(DATA_KEY$3, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);\n this._element.style[dimension] = 0;\n\n if (this._triggerArray.length) {\n $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);\n _this._element.style[dimension] = '';\n\n _this.setTransitioning(false);\n\n $(_this._element).trigger(Event$3.SHOWN);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\" + capitalizedDimension;\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\n };\n\n _proto.hide = function hide() {\n var _this2 = this;\n\n if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {\n return;\n }\n\n var startEvent = $.Event(Event$3.HIDE);\n $(this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\n Util.reflow(this._element);\n $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);\n var triggerArrayLength = this._triggerArray.length;\n\n if (triggerArrayLength > 0) {\n for (var i = 0; i < triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var selector = Util.getSelectorFromElement(trigger);\n\n if (selector !== null) {\n var $elem = $([].slice.call(document.querySelectorAll(selector)));\n\n if (!$elem.hasClass(ClassName$3.SHOW)) {\n $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);\n }\n }\n }\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this2.setTransitioning(false);\n\n $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);\n };\n\n this._element.style[dimension] = '';\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n };\n\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$3);\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread({}, Default$1, config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n Util.typeCheckConfig(NAME$3, config, DefaultType$1);\n return config;\n };\n\n _proto._getDimension = function _getDimension() {\n var hasWidth = $(this._element).hasClass(Dimension.WIDTH);\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;\n };\n\n _proto._getParent = function _getParent() {\n var _this3 = this;\n\n var parent;\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent; // It's a jQuery object\n\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0];\n }\n } else {\n parent = document.querySelector(this._config.parent);\n }\n\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\n var children = [].slice.call(parent.querySelectorAll(selector));\n $(children).each(function (i, element) {\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n return parent;\n };\n\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\n var isOpen = $(element).hasClass(ClassName$3.SHOW);\n\n if (triggerArray.length) {\n $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n } // Static\n ;\n\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? document.querySelector(selector) : null;\n };\n\n Collapse._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY$3);\n\n var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $this.data(DATA_KEY$3, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Collapse, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$3;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$1;\n }\n }]);\n\n return Collapse;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var $trigger = $(this);\n var selector = Util.getSelectorFromElement(this);\n var selectors = [].slice.call(document.querySelectorAll(selector));\n $(selectors).each(function () {\n var $target = $(this);\n var data = $target.data(DATA_KEY$3);\n var config = data ? 'toggle' : $trigger.data();\n\n Collapse._jQueryInterface.call($target, config);\n });\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$3] = Collapse._jQueryInterface;\n $.fn[NAME$3].Constructor = Collapse;\n\n $.fn[NAME$3].noConflict = function () {\n $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;\n return Collapse._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$4 = 'dropdown';\n var VERSION$4 = '4.3.1';\n var DATA_KEY$4 = 'bs.dropdown';\n var EVENT_KEY$4 = \".\" + DATA_KEY$4;\n var DATA_API_KEY$4 = '.data-api';\n var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\n\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\n\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE);\n var Event$4 = {\n HIDE: \"hide\" + EVENT_KEY$4,\n HIDDEN: \"hidden\" + EVENT_KEY$4,\n SHOW: \"show\" + EVENT_KEY$4,\n SHOWN: \"shown\" + EVENT_KEY$4,\n CLICK: \"click\" + EVENT_KEY$4,\n CLICK_DATA_API: \"click\" + EVENT_KEY$4 + DATA_API_KEY$4,\n KEYDOWN_DATA_API: \"keydown\" + EVENT_KEY$4 + DATA_API_KEY$4,\n KEYUP_DATA_API: \"keyup\" + EVENT_KEY$4 + DATA_API_KEY$4\n };\n var ClassName$4 = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n MENULEFT: 'dropdown-menu-left',\n POSITION_STATIC: 'position-static'\n };\n var Selector$4 = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n };\n var AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n };\n var Default$2 = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic'\n };\n var DefaultType$2 = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Dropdown =\n /*#__PURE__*/\n function () {\n function Dropdown(element, config) {\n this._element = element;\n this._popper = null;\n this._config = this._getConfig(config);\n this._menu = this._getMenuElement();\n this._inNavbar = this._detectNavbar();\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Dropdown.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n var isActive = $(this._menu).hasClass(ClassName$4.SHOW);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $.Event(Event$4.SHOW, relatedTarget);\n $(parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n } // Disable totally Popper.js for Dropdown in Navbar\n\n\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference; // Check if it's jQuery element\n\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0];\n }\n } // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n\n\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName$4.POSITION_STATIC);\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop);\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n $(this._menu).toggleClass(ClassName$4.SHOW);\n $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));\n };\n\n _proto.show = function show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $.Event(Event$4.SHOW, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $(parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n }\n\n $(this._menu).toggleClass(ClassName$4.SHOW);\n $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));\n };\n\n _proto.hide = function hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var hideEvent = $.Event(Event$4.HIDE, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $(parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $(this._menu).toggleClass(ClassName$4.SHOW);\n $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$4);\n $(this._element).off(EVENT_KEY$4);\n this._element = null;\n this._menu = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n\n this._popper = null;\n }\n };\n\n _proto.update = function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Private\n ;\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this = this;\n\n $(this._element).on(Event$4.CLICK, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n _this.toggle();\n });\n };\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);\n Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._getMenuElement = function _getMenuElement() {\n if (!this._menu) {\n var parent = Dropdown._getParentFromElement(this._element);\n\n if (parent) {\n this._menu = parent.querySelector(Selector$4.MENU);\n }\n }\n\n return this._menu;\n };\n\n _proto._getPlacement = function _getPlacement() {\n var $parentDropdown = $(this._element.parentNode);\n var placement = AttachmentMap.BOTTOM; // Handle dropup\n\n if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {\n placement = AttachmentMap.TOP;\n\n if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {\n placement = AttachmentMap.TOPEND;\n }\n } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT;\n } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {\n placement = AttachmentMap.LEFT;\n } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND;\n }\n\n return placement;\n };\n\n _proto._detectNavbar = function _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0;\n };\n\n _proto._getOffset = function _getOffset() {\n var _this2 = this;\n\n var offset = {};\n\n if (typeof this._config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});\n return data;\n };\n } else {\n offset.offset = this._config.offset;\n }\n\n return offset;\n };\n\n _proto._getPopperConfig = function _getPopperConfig() {\n var popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n } // Disable Popper.js if we have a static display\n\n };\n\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n };\n }\n\n return popperConfig;\n } // Static\n ;\n\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$4);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data) {\n data = new Dropdown(this, _config);\n $(this).data(DATA_KEY$4, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n Dropdown._clearMenus = function _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return;\n }\n\n var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));\n\n for (var i = 0, len = toggles.length; i < len; i++) {\n var parent = Dropdown._getParentFromElement(toggles[i]);\n\n var context = $(toggles[i]).data(DATA_KEY$4);\n var relatedTarget = {\n relatedTarget: toggles[i]\n };\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n if (!context) {\n continue;\n }\n\n var dropdownMenu = context._menu;\n\n if (!$(parent).hasClass(ClassName$4.SHOW)) {\n continue;\n }\n\n if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {\n continue;\n }\n\n var hideEvent = $.Event(Event$4.HIDE, relatedTarget);\n $(parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n continue;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop);\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n $(dropdownMenu).removeClass(ClassName$4.SHOW);\n $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));\n }\n };\n\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\n var parent;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n return parent || element.parentNode;\n } // eslint-disable-next-line complexity\n ;\n\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n\n var isActive = $(parent).hasClass(ClassName$4.SHOW);\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);\n $(toggle).trigger('focus');\n }\n\n $(this).trigger('click');\n return;\n }\n\n var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));\n\n if (items.length === 0) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // Up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // Down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n };\n\n _createClass(Dropdown, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$4;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$2;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }]);\n\n return Dropdown;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + \" \" + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($(this), 'toggle');\n }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$4] = Dropdown._jQueryInterface;\n $.fn[NAME$4].Constructor = Dropdown;\n\n $.fn[NAME$4].noConflict = function () {\n $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;\n return Dropdown._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$5 = 'modal';\n var VERSION$5 = '4.3.1';\n var DATA_KEY$5 = 'bs.modal';\n var EVENT_KEY$5 = \".\" + DATA_KEY$5;\n var DATA_API_KEY$5 = '.data-api';\n var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];\n var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default$3 = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType$3 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n var Event$5 = {\n HIDE: \"hide\" + EVENT_KEY$5,\n HIDDEN: \"hidden\" + EVENT_KEY$5,\n SHOW: \"show\" + EVENT_KEY$5,\n SHOWN: \"shown\" + EVENT_KEY$5,\n FOCUSIN: \"focusin\" + EVENT_KEY$5,\n RESIZE: \"resize\" + EVENT_KEY$5,\n CLICK_DISMISS: \"click.dismiss\" + EVENT_KEY$5,\n KEYDOWN_DISMISS: \"keydown.dismiss\" + EVENT_KEY$5,\n MOUSEUP_DISMISS: \"mouseup.dismiss\" + EVENT_KEY$5,\n MOUSEDOWN_DISMISS: \"mousedown.dismiss\" + EVENT_KEY$5,\n CLICK_DATA_API: \"click\" + EVENT_KEY$5 + DATA_API_KEY$5\n };\n var ClassName$5 = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n };\n var Selector$5 = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Modal =\n /*#__PURE__*/\n function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(Selector$5.DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n\n var _proto = Modal.prototype;\n\n // Public\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n\n _proto.show = function show(relatedTarget) {\n var _this = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n if ($(this._element).hasClass(ClassName$5.FADE)) {\n this._isTransitioning = true;\n }\n\n var showEvent = $.Event(Event$5.SHOW, {\n relatedTarget: relatedTarget\n });\n $(this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n\n this._setScrollbar();\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {\n return _this.hide(event);\n });\n $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {\n $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {\n if ($(event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n\n _proto.hide = function hide(event) {\n var _this2 = this;\n\n if (event) {\n event.preventDefault();\n }\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = $.Event(Event$5.HIDE);\n $(this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n var transition = $(this._element).hasClass(ClassName$5.FADE);\n\n if (transition) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $(document).off(Event$5.FOCUSIN);\n $(this._element).removeClass(ClassName$5.SHOW);\n $(this._element).off(Event$5.CLICK_DISMISS);\n $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $(htmlElement).off(EVENT_KEY$5);\n });\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n\n $(document).off(Event$5.FOCUSIN);\n $.removeData(this._element, DATA_KEY$5);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread({}, Default$3, config);\n Util.typeCheckConfig(NAME$5, config, DefaultType$3);\n return config;\n };\n\n _proto._showElement = function _showElement(relatedTarget) {\n var _this3 = this;\n\n var transition = $(this._element).hasClass(ClassName$5.FADE);\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {\n this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $(this._element).addClass(ClassName$5.SHOW);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $.Event(Event$5.SHOWN, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this3._config.focus) {\n _this3._element.focus();\n }\n\n _this3._isTransitioning = false;\n $(_this3._element).trigger(shownEvent);\n };\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n\n _proto._enforceFocus = function _enforceFocus() {\n var _this4 = this;\n\n $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop\n .on(Event$5.FOCUSIN, function (event) {\n if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {\n _this4._element.focus();\n }\n });\n };\n\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this5 = this;\n\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {\n if (event.which === ESCAPE_KEYCODE$1) {\n event.preventDefault();\n\n _this5.hide();\n }\n });\n } else if (!this._isShown) {\n $(this._element).off(Event$5.KEYDOWN_DISMISS);\n }\n };\n\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this6 = this;\n\n if (this._isShown) {\n $(window).on(Event$5.RESIZE, function (event) {\n return _this6.handleUpdate(event);\n });\n } else {\n $(window).off(Event$5.RESIZE);\n }\n };\n\n _proto._hideModal = function _hideModal() {\n var _this7 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._isTransitioning = false;\n\n this._showBackdrop(function () {\n $(document.body).removeClass(ClassName$5.OPEN);\n\n _this7._resetAdjustments();\n\n _this7._resetScrollbar();\n\n $(_this7._element).trigger(Event$5.HIDDEN);\n });\n };\n\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove();\n this._backdrop = null;\n }\n };\n\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this8 = this;\n\n var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = ClassName$5.BACKDROP;\n\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n\n $(this._backdrop).appendTo(document.body);\n $(this._element).on(Event$5.CLICK_DISMISS, function (event) {\n if (_this8._ignoreBackdropClick) {\n _this8._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this8._config.backdrop === 'static') {\n _this8._element.focus();\n } else {\n _this8.hide();\n }\n });\n\n if (animate) {\n Util.reflow(this._backdrop);\n }\n\n $(this._backdrop).addClass(ClassName$5.SHOW);\n\n if (!callback) {\n return;\n }\n\n if (!animate) {\n callback();\n return;\n }\n\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName$5.SHOW);\n\n var callbackRemove = function callbackRemove() {\n _this8._removeBackdrop();\n\n if (callback) {\n callback();\n }\n };\n\n if ($(this._element).hasClass(ClassName$5.FADE)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n\n _proto._setScrollbar = function _setScrollbar() {\n var _this9 = this;\n\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding\n\n $(fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $(element).css('padding-right');\n $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $(stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $(element).css('margin-right');\n $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $(document.body).css('padding-right');\n $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n\n $(document.body).addClass(ClassName$5.OPEN);\n };\n\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));\n $(fixedContent).each(function (index, element) {\n var padding = $(element).data('padding-right');\n $(element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + Selector$5.STICKY_CONTENT));\n $(elements).each(function (index, element) {\n var margin = $(element).data('margin-right');\n\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $(document.body).data('padding-right');\n $(document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$5);\n\n var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});\n\n if (!data) {\n data = new Modal(this, _config);\n $(this).data(DATA_KEY$5, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$5;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }]);\n\n return Modal;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {\n var _this10 = this;\n\n var target;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n\n var $target = $(target).one(Event$5.SHOW, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(Event$5.HIDDEN, function () {\n if ($(_this10).is(':visible')) {\n _this10.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($(target), config, this);\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$5] = Modal._jQueryInterface;\n $.fn[NAME$5].Constructor = Modal;\n\n $.fn[NAME$5].noConflict = function () {\n $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;\n return Modal._jQueryInterface;\n };\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n };\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i, len);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$6 = 'tooltip';\n var VERSION$6 = '4.3.1';\n var DATA_KEY$6 = 'bs.tooltip';\n var EVENT_KEY$6 = \".\" + DATA_KEY$6;\n var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];\n var CLASS_PREFIX = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var DefaultType$4 = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object'\n };\n var AttachmentMap$1 = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default$4 = {\n animation: true,\n template: '
' + '
' + '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist\n };\n var HoverState = {\n SHOW: 'show',\n OUT: 'out'\n };\n var Event$6 = {\n HIDE: \"hide\" + EVENT_KEY$6,\n HIDDEN: \"hidden\" + EVENT_KEY$6,\n SHOW: \"show\" + EVENT_KEY$6,\n SHOWN: \"shown\" + EVENT_KEY$6,\n INSERTED: \"inserted\" + EVENT_KEY$6,\n CLICK: \"click\" + EVENT_KEY$6,\n FOCUSIN: \"focusin\" + EVENT_KEY$6,\n FOCUSOUT: \"focusout\" + EVENT_KEY$6,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$6,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$6\n };\n var ClassName$6 = {\n FADE: 'fade',\n SHOW: 'show'\n };\n var Selector$6 = {\n TOOLTIP: '.tooltip',\n TOOLTIP_INNER: '.tooltip-inner',\n ARROW: '.arrow'\n };\n var Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Tooltip =\n /*#__PURE__*/\n function () {\n function Tooltip(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)');\n } // private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype;\n\n // Public\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $.removeData(this.element, this.constructor.DATA_KEY);\n $(this.element).off(this.constructor.EVENT_KEY);\n $(this.element).closest('.modal').off('hide.bs.modal');\n\n if (this.tip) {\n $(this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $.Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent);\n var shadowRoot = Util.findShadowRoot(this.element);\n var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $(tip).addClass(ClassName$6.FADE);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $(tip).data(this.constructor.DATA_KEY, this);\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container);\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector$6.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this._handlePopperPlacementChange(data);\n }\n });\n $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $(_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HoverState.OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($(this.tip).hasClass(ClassName$6.FADE)) {\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\n $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $.Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $(this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop);\n }\n\n this._activeTrigger[Trigger.CLICK] = false;\n this._activeTrigger[Trigger.FOCUS] = false;\n this._activeTrigger[Trigger.HOVER] = false;\n\n if ($(this.tip).hasClass(ClassName$6.FADE)) {\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\n $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $(this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());\n $(tip).removeClass(ClassName$6.FADE + \" \" + ClassName$6.SHOW);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($(content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getOffset = function _getOffset() {\n var _this3 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container);\n }\n\n return $(document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap$1[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this4 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {\n return _this4.toggle(event);\n });\n } else if (trigger !== Trigger.MANUAL) {\n var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;\n var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;\n $(_this4.element).on(eventIn, _this4.config.selector, function (event) {\n return _this4._enter(event);\n }).on(eventOut, _this4.config.selector, function (event) {\n return _this4._leave(event);\n });\n }\n });\n $(this.element).closest('.modal').on('hide.bs.modal', function () {\n if (_this4.element) {\n _this4.hide();\n }\n });\n\n if (this.config.selector) {\n this.config = _objectSpread({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;\n }\n\n if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HoverState.SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HoverState.SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HoverState.OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HoverState.OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $(this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $(this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n var popperInstance = popperData.instance;\n this.tip = popperInstance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $(tip).removeClass(ClassName$6.FADE);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$6);\n\n var _config = typeof config === 'object' && config;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $(this).data(DATA_KEY$6, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$6;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$6;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$6;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$6;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$6;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$4;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME$6] = Tooltip._jQueryInterface;\n $.fn[NAME$6].Constructor = Tooltip;\n\n $.fn[NAME$6].noConflict = function () {\n $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;\n return Tooltip._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$7 = 'popover';\n var VERSION$7 = '4.3.1';\n var DATA_KEY$7 = 'bs.popover';\n var EVENT_KEY$7 = \".\" + DATA_KEY$7;\n var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];\n var CLASS_PREFIX$1 = 'bs-popover';\n var BSCLS_PREFIX_REGEX$1 = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX$1 + \"\\\\S+\", 'g');\n\n var Default$5 = _objectSpread({}, Tooltip.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
' + '
' + '

' + '
'\n });\n\n var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {\n content: '(string|element|function)'\n });\n\n var ClassName$7 = {\n FADE: 'fade',\n SHOW: 'show'\n };\n var Selector$7 = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n };\n var Event$7 = {\n HIDE: \"hide\" + EVENT_KEY$7,\n HIDDEN: \"hidden\" + EVENT_KEY$7,\n SHOW: \"show\" + EVENT_KEY$7,\n SHOWN: \"shown\" + EVENT_KEY$7,\n INSERTED: \"inserted\" + EVENT_KEY$7,\n CLICK: \"click\" + EVENT_KEY$7,\n FOCUSIN: \"focusin\" + EVENT_KEY$7,\n FOCUSOUT: \"focusout\" + EVENT_KEY$7,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$7,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$7\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var Popover =\n /*#__PURE__*/\n function (_Tooltip) {\n _inheritsLoose(Popover, _Tooltip);\n\n function Popover() {\n return _Tooltip.apply(this, arguments) || this;\n }\n\n var _proto = Popover.prototype;\n\n // Overrides\n _proto.isWithContent = function isWithContent() {\n return this.getTitle() || this._getContent();\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(CLASS_PREFIX$1 + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $(this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events\n\n this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());\n\n var content = this._getContent();\n\n if (typeof content === 'function') {\n content = content.call(this.element);\n }\n\n this.setElementContent($tip.find(Selector$7.CONTENT), content);\n $tip.removeClass(ClassName$7.FADE + \" \" + ClassName$7.SHOW);\n } // Private\n ;\n\n _proto._getContent = function _getContent() {\n return this.element.getAttribute('data-content') || this.config.content;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $(this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);\n\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''));\n }\n } // Static\n ;\n\n Popover._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$7);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $(this).data(DATA_KEY$7, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Popover, null, [{\n key: \"VERSION\",\n // Getters\n get: function get() {\n return VERSION$7;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$5;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$7;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$7;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$7;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$7;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$5;\n }\n }]);\n\n return Popover;\n }(Tooltip);\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME$7] = Popover._jQueryInterface;\n $.fn[NAME$7].Constructor = Popover;\n\n $.fn[NAME$7].noConflict = function () {\n $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;\n return Popover._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$8 = 'scrollspy';\n var VERSION$8 = '4.3.1';\n var DATA_KEY$8 = 'bs.scrollspy';\n var EVENT_KEY$8 = \".\" + DATA_KEY$8;\n var DATA_API_KEY$6 = '.data-api';\n var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];\n var Default$6 = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n var DefaultType$6 = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n var Event$8 = {\n ACTIVATE: \"activate\" + EVENT_KEY$8,\n SCROLL: \"scroll\" + EVENT_KEY$8,\n LOAD_DATA_API: \"load\" + EVENT_KEY$8 + DATA_API_KEY$6\n };\n var ClassName$8 = {\n DROPDOWN_ITEM: 'dropdown-item',\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active'\n };\n var Selector$8 = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n ACTIVE: '.active',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_ITEMS: '.dropdown-item',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n };\n var OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n };\n\n var ScrollSpy =\n /*#__PURE__*/\n function () {\n function ScrollSpy(element, config) {\n var _this = this;\n\n this._element = element;\n this._scrollElement = element.tagName === 'BODY' ? window : element;\n this._config = this._getConfig(config);\n this._selector = this._config.target + \" \" + Selector$8.NAV_LINKS + \",\" + (this._config.target + \" \" + Selector$8.LIST_ITEMS + \",\") + (this._config.target + \" \" + Selector$8.DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n $(this._scrollElement).on(Event$8.SCROLL, function (event) {\n return _this._process(event);\n });\n this.refresh();\n\n this._process();\n } // Getters\n\n\n var _proto = ScrollSpy.prototype;\n\n // Public\n _proto.refresh = function refresh() {\n var _this2 = this;\n\n var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;\n this._offsets = [];\n this._targets = [];\n this._scrollHeight = this._getScrollHeight();\n var targets = [].slice.call(document.querySelectorAll(this._selector));\n targets.map(function (element) {\n var target;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = document.querySelector(targetSelector);\n }\n\n if (target) {\n var targetBCR = target.getBoundingClientRect();\n\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n }\n\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this2._offsets.push(item[0]);\n\n _this2._targets.push(item[1]);\n });\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$8);\n $(this._scrollElement).off(EVENT_KEY$8);\n this._element = null;\n this._scrollElement = null;\n this._config = null;\n this._selector = null;\n this._offsets = null;\n this._targets = null;\n this._activeTarget = null;\n this._scrollHeight = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});\n\n if (typeof config.target !== 'string') {\n var id = $(config.target).attr('id');\n\n if (!id) {\n id = Util.getUID(NAME$8);\n $(config.target).attr('id', id);\n }\n\n config.target = \"#\" + id;\n }\n\n Util.typeCheckConfig(NAME$8, config, DefaultType$6);\n return config;\n };\n\n _proto._getScrollTop = function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n };\n\n _proto._getScrollHeight = function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n };\n\n _proto._getOffsetHeight = function _getOffsetHeight() {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n };\n\n _proto._process = function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n\n var scrollHeight = this._getScrollHeight();\n\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n\n return;\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null;\n\n this._clear();\n\n return;\n }\n\n var offsetLength = this._offsets.length;\n\n for (var i = offsetLength; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n };\n\n _proto._activate = function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',').map(function (selector) {\n return selector + \"[data-target=\\\"\" + target + \"\\\"],\" + selector + \"[href=\\\"\" + target + \"\\\"]\";\n });\n\n var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));\n\n if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {\n $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);\n $link.addClass(ClassName$8.ACTIVE);\n } else {\n // Set triggered link as active\n $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active\n // With both